你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
#include <stdio.h>
int isprime( int n);
int main()
{
int sum = 0;
int n,k,m=0,i;
printf("请输入n k: ");
scanf("%d%d",&n,&k);
for( i=n; i>=2; i-- ) {
if (m==k)
break;
if(isprime(i)){
printf("%d ", i);
sum+=i;
m++;
}
}
printf("\n素数之和:%d", sum);
return 0;
}
int isprime(int n)
{
int i;
if(n<=3) return n>1;
for(i=2;i*i<=n;i++)
if(n%i==0) return 0;
return 1;
}
#include <stdio.h>
#include <math.h>
int isprime(int x);
int main()
{
int n,k;
scanf("%d %d",&n,&k);
int sum=0;
for(int j=n;j>=2;j--)
{
if(isprime(j))//如果是素数
{
sum+=j;//素数求和
if(k==1)
{
printf("%d=",j);
break;
}
if(j==2)//判断到j=2,循环没有退出,2是最后一个数
{
printf("%d=",j);
}else
{
printf("%d+",j);
}
k--;
}
}
printf("%d",sum);
return 0;
}
int isprime(int x)//判断是否是素数
{
int flag=1;
for(int i=2;i<=sqrt(x);i++)
{
if(x%i==0&&x!=2)
{
flag=0;
break;
}
}
return flag;
}