1、实现输出第 500 项斐波那契数列:
递归:
1.首先要找到结束条件
2.要找到所求函数的等价关系式,这个题中已经给出
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n= sc.nextInt();
System.out.println(fib(n));
}
public static int fib(int n){
if(n==1||n==2){
return 1;
}else {
return (fib(n-1)+fib(n-2));
}
}
for循环:
public static int fib(int n) {
int n1 = 1;
int n2 = 1;
int cur = 0;
if (n == 1 || n == 2) {
return 1;
} else {
for (int i = 3; i <= n; i++) {
cur = n1 + n2;
n1 = n2;
n2 = cur;
}
return cur;
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.println(fib(n));
}
2.创建一个长度为10,宽度为10的二维数组,但赋值和输出时只输出杨辉三角那个范围的数(如下图)
//1.找到其中的规律:从第三行开始:一个数等于头上的那个数+头上的那个数前边的数
//2.用代码编写出来
public static void main(String[] args) {
int[][] arr = new int[10][10];
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
arr[i][j] = 1;
} else {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
3.键盘输入一个n:
求和:
import java.util.Scanner;
public class GetSum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数n:");
int n = sc.nextInt();
double l1 = 0;
double l2 = 0;
for (int i = 1; i <= n; i++) {
//奇数时为正
if (i % 2 == 0) {
l1 = l1 + (-1.0 / i);
//偶数时为负
} else {
l2 = l2 + (1.0 / i);
}
}
//二者相加
System.out.println(l1 + l2);
}
}