题目:统计素数个数并求和
本题要求统计给定整数M和N区间内素数的个数并对它们求和。
要求
| 输入格式: | 输入在一行中给出两个正整数M和N(1≤M≤N≤500)。 |
|---|---|
| 输出格式: | 在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。 |
例如:
| 输入样例: | 10 31 |
|---|---|
| 输出样例: | 7 143 |
这道题运用for循环的嵌套循环,找到输入的M和N之间的素数并求和。
这题在最后求和中运用了复合的三目运算。
三目运算符:
对于条件表达式b ? x : y,先计算条件b,然后进行判断。
如果b的值为true,计算x的值,运算结果为x的值;
否则,计算y的值,运算结果为y的值。
例如:
x=a<b?c:d;的意思就是如果a小于b,x就等于c,否则x=d
本题代码:
#include<stdio.h>
int main(){
int a,b,c,i,p,m,s=0,sum=0;
scanf("%d%d",&a,&b);
for(m=a;m<=b;m+=1){
p=1;
for(i=2;i<=m-1;i++){
if(m%i==0){
p=0;
break;
}
}
if(p==1&&m!=1){
s++;
sum=(a==b)?a:sum+m;
}
}
printf("%d %d",s,sum);
return 0;
}
该博客介绍了一段C语言代码,用于在给定的整数范围内统计素数的数量并求和。代码利用了嵌套循环和三目运算符来判断和计算素数。示例输入1031,输出7 143,表示在1到1031之间有7个素数,它们的和为143。
874

被折叠的 条评论
为什么被折叠?



