一道题 求3000内的亲密数(一个数的所有因子和等于另一个数的所有因子和) 我搞了个 但老是错 大神快来啊

[复制链接]
查看11 | 回复4 | 2012-12-1 10:54:51 | 显示全部楼层 |阅读模式
ji(int n)函数里面的for循环有问题吧,for(i=1;i<n;i++)的i<n改成i<=n,然后returns放错位置了,应该放在最后一个括号外intji(int n){inti,a,s=0;for(i=1;i<=n;i++){ a=n%i; if(a==0)
s+=i; } returns; }...
回复

使用道具 举报

千问 | 2012-12-1 10:54:51 | 显示全部楼层
#include#includeusingnamespacestd; intji(int);intmain(){inti,n,s1,s2;for(n=1;n<3000;n++){
s1=ji(n); if(s1<3000){...
回复

使用道具 举报

千问 | 2012-12-1 10:54:51 | 显示全部楼层
有一个错误在你那个自定义函数里,求一个数所有因子之和的函数里的returns;应该放在for循环的后面,否则每个数的所有因子之和都是1...
回复

使用道具 举报

千问 | 2012-12-1 10:54:51 | 显示全部楼层
intji(int n)里for(i=1;i<n;i++)的i<n改成i<=n,因为n也是n的因数啊!...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行