fork(2) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5. long long n, gcd, primeNumInPow, power;
  6. while(cin >> n)
  7. {
  8. gcd = 1;
  9. for(long long i = 2; i * i <= n; i++) {
  10. if(n % i == 0) {
  11. power = 0; primeNumInPow = 1;
  12. while(n % i == 0) {
  13. power++;
  14. primeNumInPow *= i;
  15. n /= i;
  16. }
  17. gcd *= (power + 1)*primeNumInPow - power*primeNumInPow/i;
  18. }
  19. }
  20. if (n > 1) gcd *= (2*n - 1);
  21. cout << gcd << endl;
  22. }
  23. return 0;
  24. }
Success #stdin #stdout 0s 4528KB
stdin
123 7777 157423949 904573 2147483648
stdout
405
54873
613124817
1809145
35433480192