1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int year = scanner.nextInt();
if (year < 18) {
System.out.println("少年");
} else if (year <= 28) {
System.out.println("青年");
} else if (year < 55) {
System.out.println("中年");
} else {
System.out.println("老年");
}
}
2. 判定一个数字是否是素数
素数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做素数;否则称为合数(规定1既不是质数也不是合数)。
解题思路:由于素数只能被1和它本身整除,也就是说在2到n-1中只要有一个数能整除n则说明n不是素数,接着直接break退出循环即可。那如果在这个范围内的数都不能整除n就说明n是素数,此时i也随着递增变成了n,后面直接判断n是素数即可。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int i = 2;
for (; i < n; i++) {
if (n % i == 0) {
System.out.println(n+"不是素数");
break;
}
}
if (i == n) {
System.out.println(n+"是素数");
}
优化: 任意一个数都可以由两个数的乘积而得。例如10可以由1*10、2*5组成,并且这两个乘积数中最大的数为10的一半.因此我们可以将范围缩小至2到n/2.
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int i = 2;
for (; i <= n/2; i++) {
if (n % i == 0) {
System.out.println(n+"不是素数");
break;
}
}
if (i > n/2) {
System.out.println(n+"是素数");
}
}
再优化:假如一个数字n写成a*b的形式,那么其中一个数字一定是小于等于