统计200-400之间有多少素数,输出这些素数、素数总数及它们的和
可以定义一个函数来判断数字是否是素数,然后从200到400遍历即可。代码注释写的比较详细。
运行结果如下(素数每5个一行输出,如果不需要,把if(nmb%5==0) printf("\n")这两句删掉即可):
代码:
#include <stdio.h>
//判断n是否是素数
int prime(int n)
{
int i;
if (n < 2) return 0;
for (i = 2; i < n; i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
int main()
{
int i;
int sum = 0; //素数和
int nmb = 0; //素数的个数
for (i = 200; i <= 400; i++)
{
if (prime(i))
{
sum += i; //和累加
nmb++; //个数+1
printf("%d ", i); //输出素数
if (nmb % 5 == 0) //每5个素数一行
printf("\n");
}
}
printf("\n共%d个素数,这些素数的和为%d\n", nmb, sum);
return 0;
}
代码如下,记得采纳哦!
#include<stdio.h>
int main()
{
int count = 0, num=0;
for(int n=200;n<=400;n++){
int flag = 1;
for(int i=2;i<n;i++){
if (n % i == 0){
flag = 0;
break;
}
}
if(flag==1){
count++;
num+=n;
printf("%d ",n);
if (count%3 ==0){ //每三个换行
printf("\n");
}
}
}
printf("\n200-400素数个数为%d,它们的和为%d",count,num);
}