I need to write a function that gives the sum of prime numbers between 1 and N.
Then a program that uses this function to output the sum of prime numbers between 1 and N
Im just confused as to how to write the function as prime numbers dont increase in fixed intervals? I understand this is probably ridiculously simple but I'm just beginning
Thank you so much! Here is a sample for the class:
#include<iostream>
using namespace std;
#include <cmath>
#include <iostream>
using namespace std;
int sum_primes(int N)
{
cout << "Enter a number:\t ";
cin >> N;*/
int i, count = 0, sum = 0, x;
bool prime;
for(x = 2; x <= N; x++) {
prime = true;
for(i = 2; i <= sqrt(x); i++) {
if (x % i == 0) {
prime = false;
count++;
}
}
if (prime) sum += x;
}
if (count == 0 && N>3)
sum += N;
return sum;
}
int main(){
int Q;
cout << "Enter a number:\t ";
cin >> Q;
cout << "The sum of these primes is: " << sum_primes(Q);
return 0;
}
Can someone talk me through this?
I understand it as
Naming the function, asks user to enter a number. I dont understand what 'bool prime' means. Then When x is 2 and less than the chosen number, add 1 to it. When i is less than the squareroot of x, add 1. If i has no remainder then it is not a prime. If it is a prime, add them. return result. Then asks user to enter number, prints the sum of the numbers is: then names function so program uses the method named in the function to get the answer?
Here is a version that does not need the math.h header
Simple program that divides each number uptil the nth value by all values till one smaller than the number.
Eg: If nth value is 5, it will take int i and divide it till (i - 1). if remainder is zero then its not a prime.
#include <iostream>
usingnamespace std;
int prime(int n);
void main()
{
int n;
cout << "Enter nth Value: ";
cin >> n;
cout << "The Sum Is: " << prime(n);
}
int prime(int n)
{
int num = 0;
bool prime;
for(int i = 2; i <= n; i++)
{
prime = true;
for(int j = 2; j < i; j++)
{
if(i % j == 0)
{
prime = false;
break;
}
}
if(prime)
{
num += i;
}
}
return num;
}
bool prime is just a variable.
the bool data type returns a true or false value.
In the program if the remainder during division is 0, then prime is set to false - that means that the value of 'i' at that instant is not a prime number and so no need to add it to 'num' .
also the if(prime) iterator works as the if statement will execute any value other than 0.
0 - false, any other value - true.