求素数和
描述
对于给定的一个正整数序列,求它包含的所有素数的和。
输入
输入的第一行是一个整数n,在区间[1,10000]之中。后面紧跟n行,每一行是一个整数,在区间[1,100]之中。
输出
对输入的n个正整数中所有的素数求和,并把和在一行中输出。
样例输入
5
8
2
3
7
10
样例输出
12
我写的代码,自己试是对的,但提交结果有错,不是为何
#include
using namespace std;
int main()
{
int n;
cin >> n;
int sum = 0, x;
bool susu = true;
for (int i = 0; i < n; i++)
{
cin >> x;
if (x == 1)
{
sum = sum + 1;
}
else if (x == 2)
{
sum = sum + 2;
}
else
{
for (int j = 2; j < x; j++)
{
if (x % j == 0)
{
susu = false;
break;
}
}
if (susu ==true)
{
sum = sum + x;
}
susu = true;
}
}
cout << sum;
//system("pause");
return 0;
}