I’m writing a code that will (hopefully) allow the user to input a number, and which will output the sum of the prime numbers between 2 and that number (inclusive). I’m getting one problem, however, on the penultimate line of the code. I’ve looked up other solutions to this question, but they don’t seem to be caused by the same error as mine. Here’s the code:
#include <iostream>
using namespace std;
int Q;
int sum_primes(int N) {
cout << "Enter a number and I will generate the sums of the primes up to (and including) that number: ";
cin >> Q;
int i, count, sum = 0;
for(N = 1; N <= Q; N++) {
count = 0;
for(i = 2; i <= N/2; i++) {
if (N % i == 0) {
count++;
break;
}
}
if (count == 0 && N != 1)
sum = sum + N;
return N = sum;
}
}
int main() {
cout << "The sum of these primes is: " << sum_primes(int N);
return 0;
}
Replace
int Nwith a number. You already defined the function, now you need to give it a parameter.Or maybe you wanted to give
N‘s value through user input. Then use this instead:Also, as GigaWatt pointed out, the line on which you did:
is unnecessary. Simply returning
sumwill work just as well.Here’s the complete code: