上次已经为大家介绍过java基础算法题,FindNumber.java、TestDay.java和TestCompare.java,今天再为大家介绍其它的算法题,也是比较基础的,同样会用实例来展示,一起来了解一下吧。
一、YangHui.java
题目:打印出杨辉三角形(要求打印出10行如下图)
1.程序分析:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
代码展示如下:
package cn.edu.hit; import java.util.Scanner; /** * 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 * 现在打印出的格式不是很好看。 * @author tonylp * */ public class yanghui { public static void main(String[] args) { System.out.println("请输入行数:"); Scanner sc = new Scanner(System.in); int line = sc.nextInt(); int[] a = new int[line]; for (int i = 0; i < line; i++) { a[i] = 1; } if (line == 1) { System.out.println(1); } else if (line == 2) { System.out.println(1); System.out.println(1 + "\t" + 1); } else { System.out.println(1); System.out.println(1 + "\t" + 1); for (int i = 1; i < line - 1; i++) { for (int j = i; j >= 1; j--) { a[j] = a[j] + a[j - 1]; } for (int k = 0; k < i + 2; k++) { System.out.print(a[k] + "\t"); } System.out.println(); } } } }
二、Test3Quit.java
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
代码展示如下:
package cn.edu.hit; import java.util.Scanner; /** * 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下 的是原来第几号的那位。 * * @author tonylp * */ public class test3Quit { public static void main(String[] args) { System.out.println("请输入n:"); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] a = new int[n]; int i = 0; int t = 0; while (n > 1) { if (a[i] == 0) { t++; if (t == 3) { t = 0; a[i] = 1; n--; } } i++; if (i == a.length) { i = 0; } } for (int j = 0; j < a.length; j++) { if (a[j] != 1) { System.out.println(j + 1); } } } }
三、MonkeyPeach.java
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
代码展示如下:
package cn.edu.hit; /** * 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一 * 个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中 , * 拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? * * @author tonylp * */ public class monkeyPeach { public static void main(String[] args) { int monkey = 0; int a = getPeach(monkey); System.out.println(a); } public static int getPeach(int monkey) { if (monkey < 5) { return (getPeach(monkey + 1) * 5 + 1); } else { return 1; } } }
四、 TestEven.java
题目:一个偶数总能表示为两个素数之和。
代码展示如下:
package cn.edu.hit; import java.util.Scanner; /** * 题目:一个偶数总能表示为两个素数之和。 * * @author tonylp */ public class testEven { public static void main(String[] args) { System.out.println("请输入一个偶数:"); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int j = 0; int num2 = 0; int flag = 0; int tag = 0; int temp = 0; if (num % 2 != 0 || num == 0) { System.out.println("输入数据错误!"); } else { for (int i = 3; i < num; i++) { j = (int) Math.sqrt(i); for (int k = 2; k <= j; k++) { if (i % k == 0) { flag = 1; } } if (flag == 0) { num2 = num - i; temp = (int) Math.sqrt(num2); for (int k = 2; k <= temp; k++) { if (num2 % k == 0) { tag = 1; } } if (tag == 0 && num2 >= 3) { System.out.println(num + "=" + i + "+" + num2); } tag = 0; } flag = 0; } } } }
以上就是关于java基础算法题,YangHui.java、Test3Quit.java和MonkeyPeach.java实例分享的有关内容了。如果你对java知识感兴趣,想要了解更多java经典例子,敬请关注奇Q工具网。
推荐阅读:
java基础算法题,TestAge.java、TestNumber.java和SuShu.java,实例代码分享