程序代码
#include <stdio.h>
/*
*csdn学院--2016级
*目的:让代码见证成长(作为一个初学的菜鸟,如
*大家有发现错误,欢迎指正!)
*文件名称:Myfun76.c
*作者:小臣小仁
*完成日期:2016年12月17日
*问题描述:一个数如果恰好等于它的因子之和,这
*个数就称为“完数”。例如6=1+2+3,再如8的因子
*和是7(即1+2+4),8不是完数。
*(1)输入一个数n,判断n是否是完数
*/
int main()
{
int i;
int n=1,sum=0;
printf("请输入整数n:");
scanf("%d",&n);
for(i=1;i<n;i++)
{
if(n%i==0)
{
sum+=i;
}
}
if(sum==n)
{
printf("%d是完数!",sum);
}
else
{
printf("%d不是完数!",n);
}
return 0;
}
输出结果
知识点总结
通过循环对输入的数进行取模,如果等于0,表示该数为它的因子,把所有的因子相加,如果为输入的数的本身,就是完数。
心得体会
学会了如何在循环中找因子。