显示给定整数M和N区间内素数并对它们求和
输入格式:
在一行输入两个正整数M和N(1≤M≤N≤1000)。
输出格式:
显示指定范围的素数,素数间空一格,每五个换一行。
单独一行输出素数的个数及素数的和。
输入样例:
在这里给出一组输入。例如:
4 30
输出样例:
在这里给出相应的输出。例如:
5 7 11 13 17
19 23 29
amount=8 sum=124
案例代码
#include <stdio.h>
int is_prime(int num) // 判断是否是素数
{
for (int i = 2; i < num; i++)
{
if (num % i == 0)
{
return 0;
}
}
return 1;
}
int main()
{
int m, n;
printf("请输入区间范围(两个正整数,用空格隔开):");
scanf("%d %d", &m, &n);
int count = 0; // 素数个数
int sum = 0; // 素数和
for (int i = m; i <= n; i++)
{
if (is_prime(i))
{
printf("%d ", i);
count++;
sum += i;
if (count % 5 == 0)
{
printf("\n");
}
}
}
printf("\namount=%d sum=%d\n", count, sum);
return 0;
}
实现说明:
- 使用
scanf
输入区间范围。 - 编写
is_prime
函数用于判断一个数是否是素数,遍历从2到该数减1的所有数,如果能整除其中一个数,则不是素数,返回0;否则是素数,返回1。 - 从M到N遍历所有整数,判断是否是素数,如果是则输出并累加素数个数和素数和。同时,每输出5个素数就换行。
- 输出素数个数和素数和。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END