1
代码
理解
分母由1——n. 起点的数字1,终点的数字n 是明确的,用for循环
对于总和sum. 由于 1/i 带有小数点,不用int ,用double
1/i 是0,改为 1.0/i 【因为 i 比1大】
2
代码
理解
第一次加,第二次减(一加一减的实现):
方法一:设置 sign,int sign=1.并在后面 设置 sign=-sign
让 1.0/i 变成 sum*1.0/i
方法二:double sign=1.0(这样就不需要int sign=1) ,同时也做到了小数点。 一正一负保持不变,上一行代码【sum += sign/i ,1. sign是浮点数类型,2.sign相当于分子,在自由一正一负交换】
3 求最大公约数(两种方法)
代码
- 枚举
- 辗转相除法:见此前笔记求最大公约数——辗转相除法
理解
如果a,b都没有最大公约数,那么1 可以表示最大公约数。故从i=1开始
4 整数分解
代码
理解
- 如何处理最后一个输出 是 空格?(输出的末尾多出一空格)
if循环条件x>9 / x>=10 代表,前面还有2位及以上的数,所以printf 空格
【设置循环条件,让他在非最后一轮去输出空格,在最后一位时,不输出】
取出每一位:x%10 拿到最后一位
x/=10 去除最后一位
2. 未完,待续