为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

1 回答

	public static void main(String[] args) {
		int i,a,b=0;
		for(i=2;i<1000;i++){
			for(a=1;a<i;a++){
				if(i%a==0){
					b=a+b;
				}
			}
			if(i==b){
				System.out.println(i);
			}
			b=0;
		}

这个是我做的。唯一不同的就是12行,将b重置为0

可以这样理解你的意思,b是作为i的真因子a的和。那么经过一轮,b不是应该重新从0开始吗?

在你的代码里,之所以没有反应是因为一直没有相等的情况,所以不输出。

我这个的结果你看一下~

http://img1.sycdn.imooc.com//58e3c3870001340405140507.jpg


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

下面关于完数的哪里不对,运行没有结果

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号