java编程 求10000以内的所有完全数。我这个说答案错误?希望大家解答!!急急急急!!

 我来答
油笔大王0I
2016-06-21 · 超过18用户采纳过TA的回答
知道答主
回答量:100
采纳率:100%
帮助的人:47万
展开全部
//你传的图片看不清,所以没办法回答是哪里错了,我自己写了一个

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个数字!");
int num = scan.nextInt();
System.out.println("0-"+num+"以内的完全数有:");
//遍历0-num以内的所有整数,并验证该数字是否为完全数,如果是,就输出,如果不是,什么也不做
for(int i=3; i<=num; i++){
int sum=0;
for(int j=1;j<i;j++){
if(i%j==0){
sum+=j;
}
}
if(sum==i){
System.out.println(i);
}
}
}
a695945819
推荐于2018-03-01 · 超过10用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:18.7万
展开全部
/**
* 获取完美数
* @param num
*/
public static void getPerfectNumber(int num) {
if (num <= 0) {
return;
}
int total = 0;
for (int i = 1; i <= num; i++) {
total = 0;
for (int j = 1; j <= i; j++) {
if (i % j == 0) {
if(i != j){
total += j;
}
}
}
if(total == i){
System.err.println("完美数:"+i);
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jiang19911113
2016-06-21 · TA获得超过205个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:169万
展开全部
            for(int i=2;i<1000;i++){
                int sum=0;
                for(int y=1;y<i;y++){
                    if(i%y==0)
                        sum +=y;
                }
                
                if(sum==i)
                    System.out.println("sum: " + sum);
            }
更多追问追答
追问
是从我的for开始改吗
我改完说我编译错误
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式