java编程 求完全数

编程求不超过1000的所有完全数。所谓完全数是指一个数等于它的所有因子之和。比如,6有3个因子,满足6=1+2+3.所以6是完全数... 编程求不超过1000的所有完全数。所谓完全数是指一个数等于它的所有因子之和。比如,6有3个因子,满足6=1+2+3.所以6是完全数 展开
 我来答
共度娱生
2009-05-02 · TA获得超过153个赞
知道小有建树答主
回答量:193
采纳率:0%
帮助的人:58.2万
展开全部
直接把我的答案复制测试,一定通过。。
注意:类名
public class QiouWanQuanShu {

public static void main(String[] args) {
int sum=0; //用来存放因数的和
System.out.print("1000中de完全数有:");
for(int i=1;i<=1000;i++){ //循环1000次
for(int j=1;j<i;j++){
if(i%j==0) //判断除数是否被整除
sum=sum+j;
}
if(i==sum) //判断因数是否与这个数的本身想等
System.out.print(i+" ");
sum=0; //初始存放因数的和,下次循环继续用
}
}

}
一杏鸟
2016-12-23 · TA获得超过316个赞
知道小有建树答主
回答量:198
采纳率:75%
帮助的人:65万
展开全部
public class PerfectNumberDemo {
    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        for (int num = 2; num <= 10000 ; num ++ ) {
            int sum = 0;
            for (int divisor = 1 ; divisor < num ; divisor ++) {
                if (num % divisor == 0 ) {
                    sum = divisor + sum;
                }
            }
            if (sum == num) {
                System.out.println(num);
            }
        }
        long end = System.currentTimeMillis();
        System.out.println("遍历全部完数所使用的时间: " + (end - start) + " 毫秒");
    }
}

参考文章:http://www.jianshu.com/p/5a0d45da2b99

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
集地成书4
推荐于2017-09-29 · 超过21用户采纳过TA的回答
知道答主
回答量:45
采纳率:100%
帮助的人:60.8万
展开全部
import javax.swing.*;
public class test {
public static void main(String args[]){
int sum=0;
for(int i=1;i<=1000;i++)
{
for(int j=1;j<i;j++)
{
if(i%j==0)
sum=sum+j;
}
if(i==sum)
System.out.println(i);
sum=0;
}
}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0紫电清霜0
2009-05-02 · TA获得超过1418个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:0
展开全部
public class 求1000以内的完全数
{
public static void main (String args[])
{

for(int i=1;i<1000;i++)
{
int m=0;
for(int j=1;j<i;j++)
if(i%j==0)
m+=j;
if(i==m)
{
System.out.print(i+String.valueOf('\t'));
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gwx820816
2009-05-02 · TA获得超过472个赞
知道小有建树答主
回答量:864
采纳率:0%
帮助的人:0
展开全部
public class aa {
public static void f(int n){
int s=0;
for(int i=1;i<n;i++){
if(n%i==0){
s+=i;
}
}
if(s==n){
System.out.println(n);
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

for(int i=1;i<1000;i++){
aa.f(i);
}
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式