A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【程序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;
  
        }
  
}
  
【程序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;
  
            }
  
        }
  
    }
  
}
  
【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
程序分析:(a>b)?a:b这是条件运算符的基本例子。
  
public class Prog5{
  
       public  static void main(String[] args){
  
              int  n = -1;
  
              try{
  
                     n  = Integer.parseInt(args[0]);
  
              }catch(ArrayIndexOutOfBoundsException  e){
  
                     System.out.println("请输入成绩");
  
                     return;
  
              }
  
              grade(n);
  
       }
  
       //成绩等级计算
  
       private  static void grade(int n){
  
              if(n>100  || n<0)
  
                System.out.println("输入无效");
  
              else{
  
                String str = (n>=90)?"分,属于A":((n>60)?"分,属于B":"分,属于C");
  
                System.out.println(n+str);
  
              }
  
       }
  
}
  

6 个回复

倒序浏览
让程序飞起来!!!:D
回复 使用道具 举报
还不错~~~
回复 使用道具 举报
恩恩,希望楼主再接再厉!多发几道!
回复 使用道具 举报
杨基米德 来自手机 中级黑马 2015-7-7 06:46:41
报纸
拿这个做练习还不错~
回复 使用道具 举报
如果可以的话  就把五十道题一起发了 ,这些面试题都很经典的。
回复 使用道具 举报
感谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马