记录从小白晋级的过程,方便自己复习学过的知识
for循环
剑指offer 64 求1+2+3+……+n
231. 2的幂
- 定义一个无符号整型 k k k;
- 如果 n ≤ 0 n \le 0 n≤0,则必然不是 2 的幂;
- 1 必然是 2 的 0 次幂;
- 枚举所有 2 的幂 2 2 2、 4 4 4、 8 8 8、… 、 2 31 2^{31} 231;
- 一旦找到一个和 n n n 相等,返回
true
,则说明它是 2 的幂; - 最后,没有找到的话,返回
false
表示不是 2 2 2 的幂;
326.3的幂
- 第一个是枚举的上限只需要到 20,因为 3 21 3^{21} 321 应该超过 32位 整型的上限了;
- 第二个是每次枚举的是 1 1 1、 3 3 3、 9 9 9、…、 3 20 3^{20} 320,所以 k k k 不断乘 3
342.4的幂
- 第一个是枚举的上限只需要到 15,因为 4 16 4^{16} 416 应该超过 32位 整型的上限了;
- 第二个是每次枚举的是 1 1 1、 4 4 4、 16 16 16、…、 4 15 4^{15} 415,所以 k k k 不断乘 4。