Day4 一些关于数论的算法
文章中所提及的所有性质均为正整数的性质,可能略乏严谨
分解质因数
根据 唯一分解定理 ,存在任意正整数 n = p 1 a 1 p 2 a 2 . . . p n a n n = p_1^{a_1}p_2^{a_2}...p_n^{a_n} n=p1a1p2a2...pnan ,其中 p p p 是质数
那么我们根据这一点,我们可以写出分解质因数的代码
for(int i=2;i<=n;i++)
while(n % i == 0)
cout << i << ' ', n /= 10;
if(n > 1) cout << n;
最大公因数与最小公倍数
有正整数 a , b , d a, b, d a,b,d 其中 d d d 是 a , b a, b a,b 的最大公因数,那么有 d ∣ a , d ∣ b d | a, d |b d∣a,d∣b