标题本题要求计算并输出不超过n的最大的k个素数以及它们的和。
- 输入格式:输入在一行中给出n(10≤n≤10000)和k(1≤k≤10)的值。
- 输出格式:素数1+素数2+…+素数k=总和值
- 输入样例1:1000 10
- 输出样例1:997+991+983+977+971+967+953+947+941+937=9664
- 输入样例2:11+7+5+3+2=28
#include <stdio.h>
main()
{
int num[2000];//这样是过不了pta的 得把2000换成10001
int i,a,b,c=0,sum=0,f=0,j;
scanf("%d%d",&a,&b);
for(i=2;i<a;i++)
{
for(j=2;j<a;j++)
if(i%j==0)
break;
if(i==j)
num[c++]=i;
}
if(c>b)
for(int d=c-1;d>c-b-1;d--)
sum+=num[d];
else
for(int g=c-1;g>=0;g--)
sum+=num[g];
if(c>b)
for(int e=c-1;e>c-b-1;e--)
{
if(f==0)
printf("%d",num[e]);
else
printf("+%d",num[e]);
f=1;
}
else
for(int h=c-1;h>=0;h--)
{
if(f==0)
printf("%d",num[h]);
else
printf("+%d",num[h]);
f=1;
}
printf("=%d",sum);
}
2020/1/4 22/59