0%

–蓝桥杯入门训练

入门训练:http://lx.lanqiao.cn/problemset.page?code=BEGIN-&userid=363463

Fibonacci数列

Fibonacci数列加上求余%

使用递归会超时,故大数组+循环

提交格式

  • 不需要package,需要import
  • 修改类名为Main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);//输入类
int [] arr = new int[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)

  1. 学习保留位数的输出
  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;

public class circle_new_try {
public static void main(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

  1. 学会简化给定的信息
  2. 注意数据规模,适当将int用long替代
1
2
3
4
5
6
7
8
9
import java.util.Scanner;

public class Seq_second_try {
public static void main(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;

public class Plus_new_try {
public static void main(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);
}
}

useful信息

快捷键

  1. 打印main+alt+/:main开头
  2. ctrl+shift+o:自动引包
  3. alt+shift+x:自动执行
  4. 打印syso+alt+/
  5. for补全:for+alt+/
  6. 选中光标前面的后者后面的:shift+<-(or ->)
  7. 表达式变
  8. 函数的注释:alt+shift+j
  9. 文件夹重命名:F2

输入的进化

1
int n = new Scanner(System.in).nextInt();
Q:如果阅读本文需要付费,你是否愿意为此支付1元?