当前位置:编程学习 > JAVA >>

java起步——求完全数

2012-09-22 16:43 112人阅读 评论(0) 收藏 举报
/*
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:                             
* 作    者:        张传新                    
* 完成日期:2012 年09 月22日
* 版 本 号:  J.1.04    
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:若一个自然数,它所有的真因子(即除了自身以外的约数)的和恰好等于它本身,这种数叫做完全数。简称“完数”
  例如,
  6=1+2+3 
  28=1+2+4+7+14
  496=1+2+4+8+16+31+62+124+248
  8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064
* 程序输出:编写一个Java程序,输出任意数之间的所有完数。
* 问题分析:求一个数的回文数,要求这个数的约数相加之和等于本身。
* 算法设计:首先要定义求所求数的约数的函数,然后将约数相加,再与其本身比较,判断结果。。。
*/
[java] 
<span style="font-size:14px;"> 
public class TestComNum { 
 
    /**
     * @param args
     */ 
    public static void main(String[] args) { 
        // TODO Auto-generated method stub 
        printComNum(1000); 
    } 
    static void printComNum(int n){ 
        for(int i = 1; i <= n;i++){ 
            int s = 0; 
            for(int j = 1;j < i;j++){ 
                if(i % j == 0){ 
                    s = s + j; 
                } 
            } 
            if(s == i){ 
                System.out.println(i+"是完全数..."); 
            } 
        } 
    } 
}</span> 
运行结果:
6是完全数...
28是完全数...
496是完全数...

经验积累:从现在起养成良好的变成习惯,不要忙着敲代码,分析问题和构建框架更重要!!!

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,