zoukankan      html  css  js  c++  java
  • JAVA基础编程练习题

          

    50JAVA基础编程练习题

    【程序1】

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

    程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21....

    public class Prog1{

           public static void main(String[] args){

                  int n = 10;

                  System.out.println("第"+n+"个月兔子总数为"+fun(n));

           }

           private static int fun(int n){

                  if(n==1 || n==2)

                     return 1;

                  else

                     return fun(n-1)+fun(n-2);

           }

    }

    【程序2】

    题目:判断101-200之间有多少个素数,并输出所有素数。

    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

    public class Prog2{

        public static void main(String[] args){

            int m = 1;

            int n = 1000;

            int count = 0;

            //统计素数个数

            for(int i=m;i<n;i++){

                if(isPrime(i)){

                    count++;

                    System.out.print(i+" ");

                    if(count%10==0){

                        System.out.println();

                    }

                }

            }

            System.out.println();

            System.out.println("在"+m+"和"+n+"之间共有"+count+"个素数");

        }

        //判断素数

        private static boolean isPrime(int n){

            boolean flag = true;

            if(n==1)

              flag = false;

            else{

                for(int i=2;i<=Math.sqrt(n);i++){

                if((n%i)==0 || n==1){

                    flag = false;

                    break;

                }

                 else

                   flag = true;

              }

            }

            return flag;

        }

    }

                                        

                  ···      

    【程序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;

            }

    }

                                      欢迎提出宝贵的意见和思路.....

  • 相关阅读:
    蓝桥杯 历届试题 青蛙跳杯子 (BFS)
    HDOJ 1233 (克鲁斯卡尔+并查集)
    HDOJ 1198
    HDOJ 1041 (推公式,大数)水题
    单词接龙
    1284 2 3 5 7的倍数
    2020 排序相减
    isset()和empty()区别
    图像渲染
    Leetcode 328. 奇偶链表
  • 原文地址:https://www.cnblogs.com/Sandm4848----/p/7189463.html
Copyright © 2011-2022 走看看