题目 1:斐波那契数列
题目要求 :编写一个方法,输入正整数n
,输出斐波那契数列的第n
项。斐波那契数列的定义是:F(0)=0
,F(1)=1
, 当n > 1
时,F(n)=F(n - 1)+F(n - 2)
。
答案:
public class Fibonacci {
public static int fib(int n) {
if (n == 0) return 0;
int a = 0, b = 1;
for (int i = 2; i <= n; i++) {
int c = a + b;
a = b;
b = c;
}
return b;
}
}
题目 2:字符串反转
题目要求:编写一个方法,将输入字符串进行反转。
答案:
public class ReverseString {
public static String reverse(String s) {
return new StringBuilder(s).reverse().toString();
}
}
题目 3:判断素数
题目要求:编写一个方法,判断输入的正整数是否为素数(质数)。
答案:
public class PrimeChecker {
public static boolean isPrime(int n) {
if (n <= 1) return false;
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0) return false;
}
return true;
}
}
题目 4:冒泡排序
题目要求:编写一个方法,使用冒泡排序算法对整数数组进行升序排序。
答案:
public class BubbleSort {
public static void sort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
}
题目 5:计算阶乘
题目要求 :编写一个方法,计算输入正整数n
的阶乘n!
。
答案:
public class Factorial {
public static int factorial(int n) {
if (n == 0) return 1;
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
}