九韶bei

题目链接

一言难尽的比赛

A.6的个数

签到题,遍历一遍即可

public class Main {
	public static void main(String[] args) {
		int ans = 0;
		for(int i=1;i<=2016;i++) {
			int temp=i;
			while(temp!=0) {
				if(temp%10==6)ans++;
				temp/=10;
			}
		}
		System.out.println(ans);
	}
}

B.小明的作业

实不相瞒,我是用word文档查出来的,除了aw,其他字母用*代替,然后查,然后千万不要有小可爱沾沾自喜的然后看错题意直接输出和了。。。

C.斐波那契

用了一个公约数,需要注意的是要用long,不然会爆int。还有就是每次进行运算的时候都需要除一次公约数,不然long也会爆。

import java.math.BigInteger;
public class Main {
	public static long gcd(long m,long n) {
		if(n==0)return m;
		else return gcd(n,m%n);
	}
	public static void main(String[] args) {
		long arr[] = new long[14];
		arr[0] = 1;
		arr[1] = 1;
		for(int i=2;i<14;i++) {
			arr[i] = arr[i-1]+arr[i-2];
		}
		long fz = 1;
		long fm = 1;
		for(int i=1;i<13;i++) {
			fz = fz*arr[i]*arr[i+1]+fm;
			fm = fm*arr[i]*arr[i+1];
			long t =gcd(fz,fm);
			fz=fz/t;
			fm=fm/t;
		}
		System.out.println(fz+"/"+fm);
	}
}

D.数组重现

这个是一个全排列,我知道是全排列但是我不会遍历。。。我。。。

F.字符串

这个要看清题意啊!!题目说了只有连续的@wyk才是有效的,所以判断有没有这个字符串就行了

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		sc.nextLine();
		int ans = 0;
		while(n-->0) {
			String s = sc.nextLine();
			if(s.contains("@wyk"))ans++;
		}
		System.out.println(ans);
	}
}

G.最强对手矩阵

这是一个二维前缀和,但是俺还是不会遍历。。。

上一篇:GO进阶训练营


下一篇:Vue3.0高阶实战:开发高质量音乐Web app