题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三
个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
package exercise;
import java.util.*;
public class MainCorrect {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int month = in.nextInt();
int t = 1, n=0,oldT=1, a;
if (month == 1)
System.out.println("第一个月兔子数:" + 1);
else if (month == 2)
System.out.println("第二个月兔子数:" + 1);
else if (month >= 3) {
for (int i = 3; i <= month; i++) {
n = t+oldT;
oldT=t;
t=n;
}
System.out.println("第"+month+"个月兔子数:" + n);
}
}
}
题目:判断 101-200 之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除, 则表明
此数不是素数,反之是素数。
package exercise;
public class Main2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
for (int i = 101; i <= 200; i++) {
int ok = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
ok = 0;
break;
}
}
if(ok==1)
System.out.println("这个数是质数:" +i);
}
}
}
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和
等于该数本身。例如:153 是一个 "水仙花数 ",因为 153=1 的三次方+5 的三次方+3 的
三次方。
public class Main3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i1, i2, i3;
for (int i = 101; i < 1000; i++) {
i1=i/100;
i2=i%100/10;
i3=i%10;
if(Math.pow(i3, 3)+Math.pow(i2, 3)+Math.pow(i1, 3)==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 exercise;
import java.util.Scanner;
public class Main4 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int k=2;
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++;
}
}
}
题目:利用条件运算符的嵌套来完成此题:学习成绩> =90 分的同学用 A 表示,60-89 分之
间的用 B 表示,60 分以下的用 C 表示。
package exercise;
import java.util.*;
public class Main5 {
public static void main(String[] args) {
int x;
char grade;
Scanner s = new Scanner(System.in);
x = s.nextInt();
grade = x >= 90 ? 'A' : x >= 60 ? 'B' : 'C';
System.out.println("等级:" + grade);
}
}
网友评论