acm素数求和问题
2016-12-05 12:48
246 查看
现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。
输入第一行给出整数M(0<M<10)代表多少组测试数据
每组测试数据第一行给你N,代表该组测试数据的数量。
接下来的N个数为要测试的数据,每个数小于1000
输出每组测试数据结果占一行,输出给出的测试数据的所有素数和
样例输入
样例输出
思路:将1000以内的素数先算出来放在数组中,然后让输入的数据取素数数组中找,要有相同的那么就是素数要求和
代码:
#include <stdio.h>
main(void)
{
int n,i,j,m,s=0,a[10000],z,b[10000],c[10000],k=0;
for (i=2;i<=1000;i++)
{
for (j=2;j<i;j++)
if (i%j==0)
break;
if (i==j)
b[k++]=i; //存放100以内素数
}
scanf("%d",&n);//n组测试数据
z=n;
k=0;
while (n--)
{
scanf("%d",&m);
for (i=0;i<m;i++)//输入要判断求和的项
{
scanf("%d",&a[i]);
}
for (i=0;i<m;i++)
for (j=0;j<=1000;j++) //在素数数组中找是否有相同的,有则是素数,要加
{
if (a[i]==b[j])
s+=a[i];
}
c[k++]=s;
s=0;
}
for (i=0;i<z;i++)
printf("%d\n",c[i]);
return 0;
}
最优代码:
输入第一行给出整数M(0<M<10)代表多少组测试数据
每组测试数据第一行给你N,代表该组测试数据的数量。
接下来的N个数为要测试的数据,每个数小于1000
输出每组测试数据结果占一行,输出给出的测试数据的所有素数和
样例输入
3 5 1 2 3 4 5 8 11 12 13 14 15 16 17 18 10 21 22 23 24 25 26 27 28 29 30
样例输出
10 41 52
思路:将1000以内的素数先算出来放在数组中,然后让输入的数据取素数数组中找,要有相同的那么就是素数要求和
代码:
#include <stdio.h>
main(void)
{
int n,i,j,m,s=0,a[10000],z,b[10000],c[10000],k=0;
for (i=2;i<=1000;i++)
{
for (j=2;j<i;j++)
if (i%j==0)
break;
if (i==j)
b[k++]=i; //存放100以内素数
}
scanf("%d",&n);//n组测试数据
z=n;
k=0;
while (n--)
{
scanf("%d",&m);
for (i=0;i<m;i++)//输入要判断求和的项
{
scanf("%d",&a[i]);
}
for (i=0;i<m;i++)
for (j=0;j<=1000;j++) //在素数数组中找是否有相同的,有则是素数,要加
{
if (a[i]==b[j])
s+=a[i];
}
c[k++]=s;
s=0;
}
for (i=0;i<z;i++)
printf("%d\n",c[i]);
return 0;
}
最优代码:
#include<stdio.h> #include <math.h> int main() { int m,n,i,j,a[1000],flag=0; long s; scanf("%d",&m); while(m--) { s=0; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); //对n个数组进行输入 for(i=0;i<n;i++) { if(a[i]==1) continue; flag=0; for(j=2;j<=sqrt(a[i]);j++) { if(a[i]%j==0) { flag=1; break; } } if(flag==0) s+=a[i]; } printf("%d\n",s); } return 0; }
相关文章推荐
- ACM:蓝桥杯:素数求和问题
- acm练习:素数求和问题
- ACM 素数求和问题 (Java)
- 南阳理工ACM 题目22 素数求和问题
- ACM练习-素数求和问题
- ACM基础题:素数求和问题
- ACM 素数求和问题
- ACM-素数求和问题
- 南阳ACM 题目22:素数求和问题
- NYOJ 22 素数求和问题
- NYOJ-22-素数求和问题-2013年10月12日14:57:01
- 南阳ACM22-素数求和问题
- 素数求和问题 (今天见到了一个很不错的标记方法)
- NYOJ22 素数求和问题
- NYOJ--22--素数求和问题
- 素数求和问题
- NYOJ 22 素数求和问题 2013年8月20日
- C语言 南阳理工ACM 24.素数距离问题
- NYOJ 22 素数求和问题
- 素数求和问题