publicclassMain{ publicstaticvoidmain(String[] args){ Scanner scan = new Scanner(System.in);//输入类 int [] arr = newint[1000001];//申请大数组 int num = scan.nextInt();//输入 arr[1] = 1;//初始条件 arr[2] = 1; for(int i=3;i<=num;i++) { arr[i] = (arr[i-1] + arr[i-2])%10007;//循环计算每一项 // System.out.print("arr[i]"+arr[i]); } System.out.print(arr[num]);//输出结果 } }
这里数组从1开始是有效的
圆的面积
pi * (r ^ 2)
学习保留位数的输出
使用默认的Math类
保留位数
printf函数
1
System.out.printf("%.7f",result);
PI
1
Math.PI
幂次
1
Math.pow(2, 3);[底数,幂次]
答案:
1 2 3 4 5 6 7 8 9 10
import java.util.Scanner;
publicclasscircle_new_try{ publicstaticvoidmain(String[] args){ Scanner scan = new Scanner(System.in); int r = scan.nextInt(); double result = Math.PI * r * r; System.out.printf("%.7f",result); } }
序列求和
1+2+3+…+n = n * (n-1) /2
学会简化给定的信息
注意数据规模,适当将int用long替代
1 2 3 4 5 6 7 8 9
import java.util.Scanner;
publicclassSeq_second_try{ publicstaticvoidmain(String[] args){ long n = new Scanner(System.in).nextInt();//输入 long result = n * (n+1) / 2;//简化的式子 System.out.print(result);//输出 } }
A+B问题
好像反着了,无所谓了,
很简单,但是之前的输入的进化不能同时用,不然new 两个Scanner对象出来,有点问题
1 2 3 4 5 6 7 8 9 10 11 12
import java.util.Scanner;
publicclassPlus_new_try{ publicstaticvoidmain(String[] args){ Scanner scan = new Scanner(System.in); // int a = new Scanner(System.in).nextInt(); // int b = new Scanner(System.in).nextInt(); int a = scan.nextInt(); int b = scan.nextInt(); System.out.print(a+b); } }