蓝桥杯国赛第十五届(JAVAB组)
蓝桥杯题目
- 1.七边形
- 2.宝塔
- 3.美丽区间
- 4.园丁
1.七边形
第一题七边形,是一个递推式子,假设前一个为n,下一个为n + 7i-7-2i+2+1 = n + 5i-4
得到这个递推式子,直接写代码
package com.js.datastructure.recursion.蓝桥.真题.第十五届;public class 七边形 {public static void main(String[] args) {long n = 1;for (int i = 2; i <= 20240601; i++) {n = n + 5 * i - 4;}System.out.println(n);}
}
运行一下就可以得到答案
2.宝塔
这个题自己画个表格标一下,首先可以确定的是为1的值,然后为2,依次类推就可以得到答案…
最终答案
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);//在此输入您的代码...System.out.println("4352115243243153215451432");scan.close();}
}
3.美丽区间
package com.js.datastructure.recursion.蓝桥.真题.第十五届;import java.util.Scanner;public class 美丽区间 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int k = scanner.nextInt();int t = scanner.nextInt();//看数据范围,开一个10的六次方的数组来存当下是第几个美丽区间int[] map = new int[1000001];//求得美丽区间map[1] = 1;int l = 1;int r = 1;int no = 1;for (int i = 1; i < 1000001; i++) {if(r - l >= k && gcd(l,r) == 1){//gcd等于1表示互质map[i] = no;no++;l = r+1;r = l;}else {map[i] = no;r++;}}//判断处于的美丽区间for (int i = 0; i < t; i++) {int n = scanner.nextInt();System.out.println(map[n]);}}static int gcd(int x, int y){int t = x % y;if(t == 0){return y;}return gcd(y,t);}
}
目前只做了这三个简单题,后面的补回来。