我们来汇总一下比较著名的模板题,有些很难,而有些则简直就是水题

一、求一个正整数的质因数之和

题目来源:
牛客—大佬数

关键是求一个数的所有质因数:
这个题需要使用两层循环,一层for循环遍历所有的因数,一层while循环判断是否有重复的质因数,那怎么保证求出来的因数都是质因数呢?
我们来看,假设此时i循环到了4 即 i == 4 , 因为前面有个 i==2 是4 的因数,所以被除数里面只要有4的因数,一定有2的因数,又加上我们第二层while循环 ,质因数2已经被除干净了,连2这个因数都不存在了,4这个因数一定不存在。

还有不懂请看这篇博客:
csdn博客

  1. #include<iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. int n, ans = 0;
  6. scanf("%d",&n);
  7. for(int i = 2; i <= n; i++)
  8. {
  9. while(n % i == 0) // 判断是否有重复的因数
  10. {
  11. ans += i;
  12. n /= i;
  13. }
  14. }
  15. if(ans > 610) printf("a sdl wsl");
  16. else printf("tcl");
  17. return 0;
  18. }