A1035. 素数之和
时间限制:
1.0s 内存限制:
512.0MB
问题描述
给定正整数N,求[1,N]之间的所有素数之和.如果没有素数,则之和为0. 1<=N<=1000
输入格式
输入有多行,每行有一个正整数n(1<=n<=1000),如果输入为0,则退出
输出格式
对应每行输入的整数,输出[1,N]之间的所有素数之和.每个结果占一行.
样例输入
1
2
4
0
2
4
0
样例输出
0
2
5
2
5
- #include <stdio.h>
- #include <stdlib.h>
- int sushu(long x){
- int i;
- for(i=2;i*i<=x;i++)
- if(x%i==0) return 0;
- return 1;
- }
- int main(){
- int i=0,ans=0,x[1000];
- while((scanf("%d",&x[i]))!=EOF){
- if(x[i]==0) break;
- i++;
- }
- for(int j=0;j<i;ans=0,j++){
- for(int k=2;k<=x[j];k++){
- if(sushu(k))
- ans+=k;
- }
- printf("%d\n",ans);
- }
- system("pause");
- return 0;
- }