数学别落下
约 8 分钟
编程走到后面,数学是绕不开的伙伴。等差数列、排列组合、进制转换、简单几何……这些不是额外负担,而是算法的地基。学校的数学课,认真上就是在给编程打底。
比如求 1 加到 100,与其一个个加,不如用等差数列公式 :
#include <iostream>
using namespace std;
int main() {
int n = 100;
cout << n * (n + 1) / 2 << endl; // 5050
return 0;
}
一步就算出 5050。要注意:n * (n + 1) 要先乘再除以 2,因为相邻两个整数里必有一个是偶数,乘积一定能被 2 整除;要是把顺序写反或用了小数,反而容易出错。
小纸条
想想哪道题用到了数学。
登录 后可看答案