一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数

我看例题有个方法是用switch语句。他设置了k1~k10来存放因子,他如何确定因子不会大于10个?拿6举例。6%1=0,6%2=0,6%3=0,6$4!=0,6%5!=... 我看例题有个方法是用switch语句。他设置了k1~k10来存放因子,他如何确定因子不会大于10个?

拿6举例。6%1=0,6%2=0,6%3=0,6$4!=0,6%5!=0,
所以6的因子是1,2,3
展开
 我来答
匿名用户
2006-10-22
展开全部
无法保证!我写了个判断1000以内完数的例子,楼主参考一下吧

main()
{
int i,j,sum;
for(i=1; i<1000; i++)
{
sum=0;
for(j=1; j<=i/2; j++)
if(i%j==0) sum+=j;
if(sum==i)
printf("%d是完数\n",i);
}
}

上面这个小程序只做出判断,并没有输出完数的分解的等式。如果非要存储因子再输出的最好利用利用链表存储,原因在于链接中的节点可以动态生成,而这一点正是数组所不具备的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式