1.题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三 个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题
package cn.itcast.demo01;
public class Rabbit {
public static void main(String[] args) {
System.out.println("第1个月的兔子对数: 1");
System.out.println("第2个月的兔子对数: 1");
int f1 = 1, f2 = 1, f, M = 24;
for (int i = 3; i <= M; i++) {
f = f2;
f2 = f1 + f2;
f1 = f;
System.out.println("第" + i + "个月的兔子对数: " + f2);
}
}
}
2.题目:判断 101-200 之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除, 则表明 此数不是素数,反之是素数。
package cn.itcast.demo01;
public class PrimeNumber {
public static void main(String[] args) {
for (int i = 101; i < 201; i++) {
boolean flag = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
flag = false;
continue;
}
}
if (flag) {
System.out.print(i + " ");
}
}
}
}
- 题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和 等于该数本身。例如:153 是一个 "水仙花数 ",因为 153=1 的三次方+5 的三次方+3 的 三次方
package cn.itcast.demo01;
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int g = i % 10;
int s = i % 100 / 10;
int b = i / 100;
if (g * g * g + s * s * s + b * b * b == i) {
System.out.println(i);
}
}
}
}
- 题目:将一个正整数分解质因数。例如:输入 90,打印出 90=233*5。 程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:
(1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果 n <> k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数 你 n,重复执行第一步。
(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。
package cn.itcast.demo01;
import java.util.Scanner;
public class Resolve {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
fenjie(number);
}
public static void fenjie(int n) {
System.out.printf("%d = ", n);
for (int i = 2; i < n + 1; i++) {
while ((n % i == 0) && (n != i)) {
n = n / i;
System.out.print(i + "*");
}
if (i == n) {
System.out.println(i);
break;
}
}
}
}
- 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90 分的同学用 A 表示,60-89 分之 间的用 B 表示,60 分以下的用 C 表示。
package cn.itcast.demo01;
import java.util.Scanner;
public class Score {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
chengJi(number);
}
public static void chengJi(int score) {
if (score < 0 || score > 100) {
System.out.println("成绩无效");
} else {
String s1 = (score >= 90) ? "A" : (score >= 60) ? "B" : "C";
System.out.println(s1);
}
}
}