定义方法,判断一个数是否是丑数。
代码package day04;
import java.util.Scanner;
public class Task01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
if(judge(a)){
System.out.println(a+" 是一个丑数。");
}
else{
System.out.println(a+" 不是一个丑数");
}
}
public static boolean judge(int a){
for(int i = 2;i <= a;i++){
if(a % i== 0&&(i != 2 && i != 3 && i != 5)&&judgePrime(i)){
return false;
}
}
return true;
}
public static boolean judgePrime(int a)
{
for(int i = 2;i <= a-1;i++){
if(a % i == 0) return false;
}
return true;
}
}
结果
Task02
题目
一个楼梯有n (n >= 1)级,每次走1级或两级,请问从1级台阶走到第n级台阶一共有多少种走法(假设一开始站在第0级台阶上)
代码package day04;
import java.util.Scanner;
public class Task02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println("从1级台阶走到第"+n+"级台阶一共有"+recurse(n)+"走法");
}
public static int recurse(int n){
if(n == 1){
return 0;
} else if(n == 2) {
return 1;
}else{
return recurse(n-1) + recurse(n-2);
}
}
}
结果
Task03
题目
计算n条直线最多能把平面分成多少部分? n >= 1
代码package day04;
import java.util.Scanner;
public class Task03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(n+"直线最多能把平面分成"+recurse(n)+"部分");
}
public static int recurse(int n){
if(n == 1){
return 2;
}
else{
return recurse(n-1) + n;
}
}
}
结果
Task04
问题
猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个; 第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天 想再吃时,只剩下一个桃子了。
问第i(i的取值范围为[1, 10])天的桃子个数?
package day04;
import java.util.Scanner;
public class Task04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println("第"+n+"天的桃子个数为:"+recurse(n));
}
public static int recurse(int n){
if(n == 10){
return 1;
}else{
return (recurse(n+1)+1)*2;
}
}
}
结果
附加题
题目
给定一个数组,将数组中的元素循环向右移动 k 个位置,其中 k 是非负数。
举例
输入: [1,2,3,4,5,6,7] 和 k = 3
输出: [5,6,7,1,2,3,4]
package day04;
import java.util.Scanner;
public class 附加题 {
public static void main(String[] args) {
int array [] = {1,2,3,4,5,6,7,8,9};
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
n = n % array.length;
for (int i = array.length - n; i <= array.length-1; i++) {
System.out.print(array[i]+" ");
}
for (int i = 0; i < array.length - n; i++) {
System.out.print(array[i]+" ");
}
}
}
结果



