上次已经为大家介绍过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,实例代码分享