`
方XiRui
  • 浏览: 20320 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JAVA经典算法40题(2)

阅读更多

【程序3】题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

public class exp2{
    public static void main(String args[]){
        int i=0;
        math mymath = new math();
        for(i=100;i<=999;i++) 
            if(mymath.shuixianhua(i)==true)
                System.out.println(i);
    }
}
class math{
    public boolean shuixianhua(int x){
        int i=0,j=0,k=0;
        i=x / 100;
        j=(x % 100) /10;
        k=x % 10;
        if(x==i*i*i+j*j*j+k*k*k)
            return true;
        else
            return false;
    }
}

 【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

public class Test{
    public Test(){}
    public void fengjie(int n){ 
        for(int i=2;i<=n/2;i++){
            if(n%i==0){
                System.out.print(i+"*");
                fengjie(n/i);
            }
        }
        System.out.print(n);
        System.exit(0);///不能少这句,否则结果会出错
    }
    public static void main(String[] args){
        String str="";
        Test c=new Test();
        str=javax.swing.JOptionPane.showInputDialog("请输入N的值(输入exit退出):");
        int N;
        N=0;
        try{
            N=Integer.parseInt(str);
        }catch(NumberFormatException e){
            e.printStackTrace();
        }
        System.out.print(N+"分解质因数:"+N+"=");
        c.fengjie(N);
   }
}

 

 

 

分享到:
评论
1 楼 西铁城 2013-02-20  
第二个程序可以加个对exit的判断,不然是以发生异常而终止的。若是这样的话,输入任何字符都可以达到了同样的目的了。
if(str.equalsIgnoreCase("exit"))
        System.exit(0);

相关推荐

    JAVA经典算法40题.pdf

    JAVA经典算法40题.pdf 本资源是JAVA经典算法40题的PDF文件,该文件包含了40个经典算法题目,每个题目都有相应的Java代码实现。以下是对标题、描述、标签和部分内容的知识点解释: 标签:“数据库” 虽然标签是...

    Java算法集题大全.zip

    Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法集题大全Java算法...

    JAVA经典算法40面试题

    JAVA经典算法40面试题 本资源摘要信息涵盖了JAVA经典算法40面试题,包含基本的算法面试代码题。以下是对标题、描述、标签和部分内容的详细解释: 一、标题:“JAVA经典算法40面试题” 该标题表明该资源是关于JAVA...

    java经典算法90题含源码及答案.rar

    通过解决这些算法题,开发者可以锻炼逻辑思维,理解和掌握数据结构,如数组、链表、栈、队列、树、图等,以及排序、搜索、图论、动态规划等核心算法。 在JAVA经典算法40题.doc中,可能包含的题目类型有递归、分治、...

    JAVA经典算法40题

    JAVA经典算法40题 JAVA经典算法40题 JAVA经典算法40题

    java经典算法练习题

    本压缩包包含了三个文档,分别是“JAVA经典算法40题.doc”、“最新JAVA编程题全集_50题及答案.doc”和“50道JAVA基础编程练习题.doc”,这些资源为初学者提供了大量的实践机会,有助于深入理解和运用Java。...

    JAVA经典算法40题面试题案例.pdf

    【JAVA经典算法40题面试题案例】 在Java面试中,算法题是考察候选人编程能力的重要环节。...它们是Java程序员在面试中可能遇到的经典算法题,熟练掌握这些技巧能够提高解决问题的能力,并有助于在面试中脱颖而出。

    JAVA经典算法90题【含源码】

    在编程领域,特别是Java开发,熟练掌握算法是提升技术能力的关键。"JAVA经典算法90题【含源码】"的资源集合为Java初学者提供了...所以,对于初学者来说,这套资料是提高Java算法能力的宝贵资源,应充分利用并深入研究。

    java经典算法40题

    《Java经典算法40题》中涉及的素数判断算法,通过在2到√x的范围内寻找除数,避免了对每一个小于x的数进行尝试,从而大大提高了算法效率。这部分内容不仅让学习者加深了对素数特性的理解,还锻炼了编程中处理数学...

    JAVA经典算法90题 题(一)

    可能不太好,见谅。JAVA经典算法90题,lx76939412上传的

    JAVA经典算法面试39题及答案

    本文将详细探讨39道JAVA经典算法面试题目,每题都附带答案和解析,从而帮助读者深入理解并提升自身在JAVA编程中的算法应用能力。 首先,我们必须明确算法的定义和重要性。算法是计算机科学的核心,它是一系列解决...

    JAVA经典算法40题.zip

    "JAVA经典算法40题"这个压缩包提供了一个学习和实践的机会,它包含了40个Java编程中的算法挑战。这些题目涵盖了数据结构、排序、搜索、图论等多个核心领域,旨在帮助Java程序员深化对算法的理解,提高编程效率。 ...

    JAVA经典算法30题

    对于Java程序员而言,掌握一系列经典的算法题是提升自身竞争力的重要途径。本文将围绕“JAVA经典算法30题”这一主题,详细解读其中几个算法的实现逻辑和应用场景,希望能对读者有所启发。 首先,让我们来看第一个...

    JAVA经典算法题编程资料

    JAVA经典算法题

Global site tag (gtag.js) - Google Analytics