黑马程序员技术交流社区

标题: 50道java基础题 [打印本页]

作者: 744919632    时间: 2015-12-14 21:11
标题: 50道java基础题
【程序3】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
  
public class  Prog3{
  
    public static void main(String[] args){
  
        for(int i=100;i<1000;i++){
  
            if(isLotus(i))
  
                System.out.print(i+" ");
  
        }
  
        System.out.println();
  
    }
  
    //判断水仙花数
  
    private static boolean isLotus(int lotus){
  
        int m = 0;
  
        int n = lotus;
  
        int sum = 0;
  
        m = n/100;
  
        n   -= m*100;
  
        sum = m*m*m;
  
        m = n/10;
  
        n -= m*10;
  
        sum += m*m*m + n*n*n;
  
        if(sum==lotus)
  
            return true;
  
        else
  
            return false;
  
        }
  
}
  
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
  
public class  Prog4{
  
    public static void main(String[] args){
  
        int n = 13;
  
        decompose(n);
  
    }
  
    private static void decompose(int n){
  
        System.out.print(n+"=");
  
        for(int i=2;i<n+1;i++){
  
            while(n%i==0 && n!=i){
  
                n/=i;
  
                System.out.print(i+"*");
  
            }
  
            if(n==i){
  
                System.out.println(i);
  
                break;
  
            }
  
        }
  
    }
  
}
  


作者: DayBreak    时间: 2015-12-14 22:20
why just two test、、
作者: 744919632    时间: 2015-12-15 20:13
DayBreak 发表于 2015-12-14 22:20
why just two test、、

慢慢发,我会发完的,关注就有。
作者: TG·小强    时间: 2015-12-15 22:56
关注ing》》》》》
作者: xiangkai    时间: 2015-12-15 23:21
哪有啊!
作者: 孙志明    时间: 2015-12-15 23:31
顶你哦!!!!
作者: 星海浮沉    时间: 2015-12-15 23:47
关注中,新人关注中~
作者: 唐洪超    时间: 2015-12-16 00:49
这是自己找的吧!
作者: 744919632    时间: 2015-12-16 08:39
唐洪超 发表于 2015-12-16 00:49
这是自己找的吧!

我有很多资料的,744919632就是我的QQ。
作者: 唐洪超    时间: 2015-12-16 11:29
744919632 发表于 2015-12-16 08:39
我有很多资料的,744919632就是我的QQ。

安卓就业班视频可有。
作者: 越狱犯    时间: 2015-12-16 11:47
马克一下,以后看
作者: 744919632    时间: 2015-12-16 14:37
唐洪超 发表于 2015-12-16 11:29
安卓就业班视频可有。

只是基础班的,java的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2