本题要求编写程序,找出任意两正整数m和n之间的所有完数。C语言
时间: 2024-05-20 17:17:53 浏览: 248
查找1到n的完数(c语言版)
4星 · 用户满意度95%
解法如下:
#include<stdio.h>
int main()
{
int m, n, i, j, sum;
printf("请输入两个正整数m和n,中间用空格隔开:\n");
scanf("%d%d", &m, &n);
printf("所有完数为:\n");
for(i=m; i<=n; i++)
{
sum = 0;
for(j=1; j<i; j++)
{
if(i%j==0)
sum += j;
}
if(sum==i)
printf("%d\n", i);
}
return 0;
}
程序思路:
1.首先输入两个正整数m和n;
2.使用两层循环,外层循环变量i从m循环到n,内层循环变量j从1循环到i-1;
3.判断j是否是i的因数,如果是,则将j加入到sum中;
4.当内层循环结束后,如果sum的值等于i,则i是完数,输出i;
5.最后输出所有完数。
阅读全文