IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 简单的算法题(JAVA) 5题 -> 正文阅读

[数据结构与算法]简单的算法题(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<i;j++){
          if (i%j==0){
              flag=true;
            break;
         }
       }
       if (flag==false){
          System.out.println(i);
        }
    }
}
  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<Integer> 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<list.size()-1;i++){
            System.out.print(list.get(i)+"*");
        }
        System.out.println(list.get(list.size()-1));
    }

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);
    }
}
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 15:08:14  更:2021-10-24 15:10:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:33:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码