版权声明:博客内容为本人自己所写,请勿转载。 https://blog.csdn.net/weixin_42805929/article/details/82120795
【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
//这是一个菲波拉契数列问题
public class Test1 {
public static void main(String[] args) {
System.out.println("第一个月的兔子对数:1");
System.out.println("第二个月的兔子对数:1");
int f1 = 1, f2 = 1;//定义前两个月的兔子对数
int M = 12; //定义月份
for (int i = 3; i <= M; i++) {
//从第三个月开始,兔子生兔子
int temp = f2; //定义一个中间值
f2 = f1 + f2; //前两个月的综合
f1 = temp; //
System.out.println("第" + i +"个月的兔子对数: "+f2);
}
}
}
【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
public class Test2 {
public static void main(String[] args) {
int count = 0;
for (int i = 101; i < 200; i += 2) {
boolean b = false;
for (int j = 2; j <= Math.sqrt(i); j++) {
//Math.sqrt(i)函数返回一个数即i的平方根
if (i % j == 0) {
b = false;
break;
} else {
b = true;
}
}
if (b == true) {
count++;
System.out.println(i);
}
}
System.out.println("素数个数是: " + count);
}
}
【程序3】
题目:打印出所有的 “水仙花数 “,所谓 “水仙花数 “是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个 “水仙花数 “,因为153=1的三次方+5的三次方+3的三次方。
public class Test3 {
public static void main(String[] args) {
int a, b, c;
int count = 0;
for (int i = 100; i < 1000; i++) {
a = i / 100;//百位
b = i % 100 / 10;//十位
c = i % 10;//个位
if (i == (a*a*a + b*b*b + c*c*c)) {
count++;
System.out.println("水仙花数:"+i);
}
}
System.out.println(count);
}
}
水仙花数:153
水仙花数:370
水仙花数:371
水仙花数:407
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
System.out.println("请输入正整数:");
int n = sc.nextInt();
int k = 2;
System.out.print(n + "=");
while (k <= n) {
if (k == n) {
System.out.println(n);
break;
}else if (n % k == 0) {
System.out.print(k + "*");
n = n / k;
}else {
k++;
}
}
}
}
【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
//首先条件运算符也称为“三元运算符”
import java.util.Scanner;
public class Test5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入您的成绩:");
double n = sc.nextDouble();
char grade;
grade = n >= 90 ? 'A'
: n >= 60 ? 'B'
: 'C';
System.out.println("该成绩所属的等级为:"+grade);
}
}