写在前面
本次模拟赛习题难度比较常规,总的来说中规中举,对我这种小白都比较友好,填空题基本都可以直接算出来,除了最后两道编程题可能稍微需要花点时间,当然当时实在坐不住提前交卷了没能写完,欢迎大佬们评论区讨论指导,感激不尽。
下面是本次模拟赛习题
第一题
问题描述
请问在 1 到 2020 中,有多少个数与 2020 互质,即有多少个数与 2020 的最大公约数为 1。
答案
800
解题思路
直接暴力,遍历求解
第二题
问题描述
SCII 码将每个字符对应到一个数值(编码),用于信息的表示和传输。
在 ASCII 码中,英文字母是按从小到大的顺序依次编码的,
例如:字母 A 编码是 65, 字母 B 编码是 66,字母 C 编码是 67,请问字母 Q 编码是多少?
答案
81
第三题
问题描述
有一棵二叉树,一个由2021个结点,其中有1000个结点有两个子结点,其他的结点有一个或者0个子结点。
请问,这棵二叉树有多少个叶结点?
答案
1001
解题思路
当二叉树结点数为2021时,有2020条树枝,有两个子结点的结点数对应两个树枝,有一个子结点的结点数对应一个树枝,那么当有2021个结点,有2020个树枝,其中有1000个结点有两个子结点,就对应2000个树枝,还剩2020-2000 = 20个树枝留给有一个子结点的结点数,就是2021-1000-20=1001个叶结点。
第四题
问题描述
对于整数 v 和 p,定义 Pierce 序列为:
a[1] = v
a[i] = p % a[i-1]
例如,当 v = 8, p = 21 时,对应的 Pierce 序列为
a[1] = 8
a[2] = 5
a[3] = 1
再往后计算,值变为 0,不在我们考虑的范围内。因此当 v = 8, p = 21 时, Pierce 序列的长度为 3。
当 p 一定时,对于不同的 v 值,Pierce 序列的长度可能不同。
当 p = 8 时,若 1<=v<p,最长的 Pierce 序列出现在 v=13时,为(13, 8, 5, 1),长度为 4。
当 p=2021 时,最长的 Pierce 序列出现在 v=1160 时,请问这个序列有多长?
答案
12
第五题
问题描述
在 Excel 中,第 1 列到第 26 列的列名依次为 A 到 Z,从第 27 列开始,列名有两个字母组成,
第 27 列到第 702 列的列名依次为 AA 到 ZZ。之后的列再用 3 个字母、4 个字母表示。
请问,第 2021 列的列名是什么?
答案
BYS
解题思路
直接找规律计算很快就能计算出。
第六题
问题描述
斐波那契数列是这样一个数列:它的第一项和第二项都是1,从第三项开始每一项都是前两项的和。
根据以上定义,我们容易计算出斐波那契数列的前几项依次是:1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ……
现在请你计算斐波那契数列第N项是奇数还是偶数?
输入格式
输入的包含一个整数N。
输出格式
如果是奇数输出1,是偶数输出0。
样例输入
10
样例输出
1
提示
找规律。
数据规模和约定
对于所有评测用例,1 <= N <= 1000000000。
代码
方法① 常规写法,先计算斐波那契数列第N项,再判断是奇数还是偶数。
import java.util.Scanner;
public