栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

简单的算法题(JAVA) 5题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简单的算法题(JAVA) 5题

  1. 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    (1). 算法分析: 兔子的规律为数列1,1,2,3,5,8,13,21…
 public static void main(String[] args) {
            for (int i=1;i<=100;i++){
                System.out.println("第"+i+"个月"+rabbit(i)+"只兔子");
            }
    }
    private static int rabbit(int month){
        if(month <3){
            return 1;
        }else {
            return rabbit(month-2)+rabbit(month-1);
        }
    }
  1. 题目:判断101-200之间有多少个素数,并输出所有素数。
    (1). 算法分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
    则表明此数不是素数,反之是素数。 */
public static void main(String[] args) {
    int j;
   boolean flag;
  for (int i=100;i<200;i++){
      flag=false;
      for (j=2;j 
  1. 题目:打印出所有的"水仙花数(narcissus number)",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
    (1). 算法分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 */
public static void main(String[] args) {
        for (int i=100;i<=999;i++){
            int a=i/100;
            int b=i/10%10;
            int c=i%10;
            if (a*a*a+b*b*b+c*c*c==i){
                System.out.println(i);
            }
        }
    }
  1. 题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
    (1). 算法分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 */
    public static void main(String[] args) {
        System.out.println("请输入大于2的正整数");
        Scanner scanner=new Scanner(System.in);
        int num=scanner.nextInt();
        int a=num;
        System.out.print("把这个数分解因数为:num=");
        ArrayList list=new ArrayList<>();
        for (int i=2;i<=num;i++){
            if (num%i==0){
                list.add(i);
                num=num/i;
                i=1;

            }
        }
        if (list.size()==1){
            System.out.print(1+"*"+a);
            return;
        }
        for (int i=0;i 

5.题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
(1). 算法分析:(a>b)?a:b这是条件运算符的基本例子。 */

 public static void main(String[] args) {
      System.out.println("请输入学习成绩");
        Scanner scanner=new Scanner(System.in);
      int  x=scanner.nextInt();
      String n;

     n=x<60?"c":"B";
     n=x>=90?"A":(x<60?"c":"b" );

      System.out.println(n);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344746.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号