#include<stdio.h>
unsigned short Judge(unsigned short p);
int main()
{
short n;
unsigned long Sum = 0;
unsigned short i = 2;
/* 容错机制 */
printf("Input n(n<=500):");
while(scanf("%hd", &n) != 1 || n > 500 || n < 2)
{
while(getchar() !='\n') ;
printf("请输入合法数据.\n");
printf("Input n(n<=500):");
}
/* 找出<=n的所有素数 */
while(i <= n)
{
if(Judge(i) == 1)
{
printf("%6d", i);
Sum += i;
}
i ++;
}
putchar('\n');
printf("sum=%hd\n", Sum);
/* */
return 0;
}
/* 判断是否为素数 */
unsigned short Judge(unsigned short p)
{
if(p == 1)
{
/* 1不是素数 */
return 0;
}
unsigned short i = 2;
while(i <= p / 2)
{
if(p % i == 0)
{
/* p不是素数 */
return 0;
}
i ++;
}
/* p是素数 */
return 1;
}
计算n(2<=n<=500)以内所有素数之和, 并输出这些素数及其和
最新推荐文章于 2022-03-18 21:18:25 发布