• java基础编程练习题


    1、題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一

    对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    1 2 3 4 5 6 7
    1 1 2 3 5 8 13
    这就是斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”

    public class TestDemo {
        public static void main(String[] args) throws Exception {
    
            int i; //i表示月份
            long arr[] = new long[36];//这个数值用来表示每个月兔子的数量
            arr[0] = arr[1] = 1;
            System.out.println("第1个月有兔子1对," + "总数是" + 2);
            System.out.println("第2个月有兔子1对," + "总数是" + 2);
            for (i = 2; i <= 35; i++) {
                arr[i] = arr[i - 1] + arr[i - 2];
                System.out.println("第" + i + "个月有兔子" + arr[i] + "对," + "总数是" + arr[i] * 2);
            } 
        }
    }
    2、题目:判断101-200之间有多少个素数,并输出所有素数。 

    素数又叫质数,就是除了1和它本身之外,再也没有整数能被它整除的数。

    public class TestDemo {
        public static void main(String[] args) throws Exception {
    
            int sum=0;
            for (int i = 101; i < 201; i++) {  //i是101到200之间的数字
                for (int j = 2; j <=i; j++) {  //j是2到200之间的数字
    
                    if(j==i) {                 //如果i=j则输出
                        System.out.println(j);
                        sum++;
                    }
                    else if(i%j==0) {       //如果i能被j整除则表明i不是素数,计数器+1
                        break;
                    }
    
                }
    
            }
            System.out.println("总共有"+sum+"个素数");
        }
    }
    
    3、打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
    153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
    public class TestDemo {
        public static void main(String[] args)  {
            int i ;
            for (i = 100; i < 1000; i++) {
                int a = i/100;
                int b = (i%100)/10;
                int c = i%10;
                if (i==a*a*a+b*b*b+c*c*c){
                    System.out.println(i);
                }
            }
    
        }
    }
            int sum,i,j,k;
            for(i=1;i<=9;i++){
                for (j=0;j<=9;j++){
                    for (k=0;k<=9;k++){
                        sum=i*i*i+j*j*j+k*k*k;
                        if (i*100+j*10+k==sum){
                            System.out.println(sum);
                        }
                    }
                }
            }
    4、题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 
    (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 

    import java.util.Scanner;
    
    public class TestDemo {
        public static void main(String[] args) {
            System.out.println("请输入正整数:");
            Scanner scanner= new Scanner(System.in);
            int num = scanner.nextInt();
            //System.out.print(num+"=");
    
            for(int i=2;i<=num;i++) {
                while(num!=i) {
                    if(num%i==0) {
                        System.out.print(i+"*");
                        num=num/i;
                    }
                    else
                       break;
                }
            }
            System.out.println(num);
        }
    }





  • 相关阅读:
    .net Framework 4.5 MVC4 + RabbitMQ
    阿里云飞天系统的技术架构(转)
    ORA12899错误解决记录
    网络通讯函数测试记录
    .应该用CreateThread还是_beginthreadex(), 为什么?( 转载)
    发挥v$SQL视图的作用(oracle)
    ClickHouse笔记
    MySQL字段是JsonArray格式怎么查询数据
    Base64编码保存为图片,java工具类
    java两个线程交替打印数字
  • 原文地址:https://www.cnblogs.com/fanren224/p/8457170.html
Copyright © 2020-2023  润新知