2019年题目: 万能开头: #include<bits/stdc++.h> using namespace std; 试题A: 有几位数位的数字中,优先考虑用整体进行计算移位用:/ 取位用:%(零的多少决定位数的多少) 试题B: temp = ((a + b) % 10000 + c) % 10000; a = b; b = c; c = temp; 上面是迭代算法的基本模板: 最开始是迭代关系,下面进行迭代前进,迭代的要求次数决定迭代变量的个数 经典迭代算法:辗转相除法;斐波那契数列 temp=a ;a=b;b=temp 这是交换a,b位置的代码,故开头与结尾均为引入的变量,这要区别于迭代算法中开头与结尾的变量不同 试题C: 填空题的解决方案多样,不一定要写代码解决,也可以考虑用Excel或者在计算量不算大的时候,直接用已知的数学知识解决 试题D: typedef long long ll; (1)这样写就可以直接用ll代替long long的定义了 (2)int可以表示10的9次方的数,再大就要考虑扩大数据范围,可以尝试把int换为 long long 补充: 数组中的二分法: (1)只要看到题目里给出的数组是有序数组,都可以想一想是否可以使用二分法 (2)对区间的定义要清楚:主要是while的条件是否能取等、middle的取值注意边界值,如果不确定边界值可以输出每次的情况来判断边界