“须知少时凌云志,自许人间第一流”
鄙人11月八号有幸参加学校校选拔赛,题型为5道填空题,5道编程题,总时间为4小时。奈何能力有限,只完成了5道填空和3道编程大题,现进行自省自纠,分享学习,与诸君共勉。
若有高见,欢迎指点,水平有限,然无惧诸君笑尔。
欢迎关注、评论、点赞、收藏,愿你见证我的成长!
1、 二进制位数
1.1代码实现
2、跑断腿的小蓝
问题描述
2.1代码实现
3、调和级数
问题描述
3.1代码实现
4、山谷
问题描述
4.1代码实现
5、最小矩阵
问题描述
5.1代码实现
6、总结
1、 二进制位数
问题描述
十进制整数 2 在十进制中是 1 位数,在二进制中对应 10 ,是 2 位数。
十进制整数 22 在十进制中是 2 位数,在二进制中对应 10110 ,是 5 位数。
请问十进制整数 2022 在二进制中是几位数?
解题思路:1、求一个十进制数的2进制位数,最简单易懂的方式就是对该数不断除以2,直至结果为小于0,求除以2的次数即可。
2、例如,4,4/2=2,2/2=1,1/2=0;我们知道4的二进制为100,刚好是三位数。
3、结果为 11。
1.1代码实现
public static void main(string args[]){ int Result=2022; int count=0; while (true) { Result/=2; count++; if(Result==0) break; } System.out.println(count); }
2、跑断腿的小蓝
问题描述
小蓝每周六、周日都晨跑,每月的 1、11、21、31日也晨跑。其它时间不晨跑。
已知 2022年1月1日是周六,请问小蓝整个2022年晨跑多少天?
解题思路:1、此题是往年蓝桥杯省赛真题的简单版,可以看我之前的博文有题解。
2、思路主要是对于明确跑步条件,要考虑到每个月天数不同,2月为28,其他为30,或31,可以通过一个简单的数组来表示。
3、通过设定week为表示当前为周几,week=week%7,求余实现,例如当星期九(其实没有这个说法哈哈),week变成2,即星期二。
4、通过对满足其中任一条件时天数的累积求得最终答案。
5、结果为 138
2.1代码实现
public static void main(String args[]){ int Months[]={31,28,31,30,31,30,31,31,30,31,30,31}; int week=6;//1月一号为周六 int RunDays=0; for(int m=0;m