java求100以内完数。

各位朋友帮我测试下我的代码。我手头没电脑,自己手写的代码intnum=0;for(inti=2;i<100;i++){for(intj=1;j<i;j++){if(i%j... 各位朋友帮我测试下我的代码。

我手头没电脑,自己手写的代码
int num=0;
for(int i=2;i<100;i++){
for(int j=1;j<i;j++){
if(i%j==0){
num=j+num;
}
}
if(num==i){
System.out.println(i);
}
}

如果有问题请指出,
如果没有问题,请给我看下打印结果谢谢哦。
展开
 我来答
土憨宝
2013-08-27 · TA获得超过368个赞
知道小有建树答主
回答量:203
采纳率:100%
帮助的人:216万
展开全部
看不懂的话给我发信息。我已经写的很详细了,有些基本语法要不懂,可以查下百度。
public class test{
//取出1-no之间的所有完数
public static void getWS(int no){
for(int i=4;i<=no;i++){//因为1,2,3肯定不是完数,就姑且从4开始检查,一直检查到no
if(checkWS(i)){
System.out.println(i);//调用checkWS(int n)方法,检查该整数是否是完数。如果该数是完数,输出。
}
}
}

//判断整数n是否是完数
public static boolean checkWS(int n){
int sum=1;//1肯定是一个能整除整数n的被除数,初始化n的所有因子之和sum
for(int i=2;i<=n/2;i++){
if(n%i==0){//%求余,如果余数等于0,则i为该整数的因子,那么把sum=sum+i.这里只检查从2到n/2之间的数,因为大于4的整数最大的因子不会超过他的一半, 这样能提高程序效率
sum+=i;
}
}

return sum==n?true:false;//如果最终因子和sum等于它本身则返回true,否则返回false
}

public static void main(String args[]){
getWS(100);//输出100内的完数,这里的数字填多少就找出1-多少之间的所有完数
}
}
百度网友37397c621
2013-08-26 · TA获得超过695个赞
知道小有建树答主
回答量:427
采纳率:100%
帮助的人:149万
展开全部
for(int m=1;m<=100;m++)//从1开始取值
 {
 int s=0;//定义整型S
 for(int i=1;i<m;i++)//
   if(m%i==0)  //如果M除以i整除
     s=s+i;  
     if(s==m){ //如果S=M
       System.out.print(s+" "); //输出完数
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Dear浮世逍遥
推荐于2018-03-21
知道答主
回答量:22
采纳率:0%
帮助的人:5.2万
展开全部
有一点小问题这个需要在第一层循环里面把num重新赋值为0的 要不然就没结果了下面是我改过的代码
int sum;
for(int a=1;a<=100;a++)
{
sum=0;
for(int i=1;i<a;i++) //输出100以内的完数
{
if(a%i==0)
sum=sum+i;
}
if(sum==a){
System.out.println(a);
}

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
552023943zjx
2013-08-26 · TA获得超过1040个赞
知道小有建树答主
回答量:260
采纳率:0%
帮助的人:339万
展开全部
有问题int num=0;应该放在第一个for循环里
for(int i=2;i<100;i++){
int num=0;
for(int j=1;j<i;j++){
if(i%j==0){
num=j+num;
}
}
if(num==i){
System.out.println(i);
}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
topsonic2006
2013-08-26 · 超过70用户采纳过TA的回答
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:113万
展开全部
你这段程序语法上没有错误
执行后没有任何打印结果

你写这段程序想要得到的结果是什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式