黑马程序员技术交流社区

标题: 经典算法 [打印本页]

作者: HEY、baby    时间: 2015-8-29 22:23
标题: 经典算法
程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
public class lianxi01 {
        public static void main(String[] args) {

                System.out.println("第1个月的兔子对数: 1");
                System.out.println("第2个月的兔子对数: 1");

                int f1 = 1, f2 = 1, f, M=24;

                for(int i=3; i<=M; i++) {
                f = f2;
                f2 = f1 + f2;
                f1 = f;
                System.out.println("第" + i +"个月的兔子对数: "+f2);
                }
        }
}
题目2:判断101-200之间有多少个素数,并输出所有素数。
public class lianxi02 {
        public static void main(String[] args) {

    int count = 0;
    for(int i=101; i<200; i+=2) {
    boolean b = false;

    for(int j=2; j<=Math.sqrt(i); j++){
                if(i % j == 0) {
                        b = false; break;
        }else{
        b = true;
        }
     }
        if(b == true) {
                count ++;System.out.println(i );
    }                                 
    }
    System.out.println( "素数个数是: " + count);
  }
}
题目3:编程。打印出所有的“水仙花数”。
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
public class lianxi03 {
        public static void main(String[] args) {
        
                int b1,b2,b3;
                for(int m=101;m<1000;m++){
                        b3 = m / 100;
                        b2 = m % 100 / 10;
                        b1 = m % 10;
                        
                        if((b3*b3*b3+b2*b2*b2+b1*b1*b1)==m){
                                System.out.println(m+"是一个水仙花数");
                        }
                }
        }
}

作者: wanglianqing    时间: 2015-8-29 23:02
差不多还能看懂一点点~




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