Iamtui1010

demcapnghiem.cpp

Feb 24th, 2022
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.94 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<cmath>
  4.  
  5. #define long long long
  6. #define nln '\n'
  7.  
  8. using namespace std;
  9.  
  10. bool perfect_square(long n)
  11. {
  12.     return (sqrt(n) == round(sqrt(n)));
  13. }
  14.  
  15. int main()
  16. {
  17.     cin.tie(0)->sync_with_stdio(0);
  18.     cout.tie(0)->sync_with_stdio(0);
  19.     //freopen("demcapnghiem.inp", "r", stdin);
  20.     // sau khi biến đổi, bài toán trở thành đếm ước của n+1
  21.     long n;
  22.     cin >> n;
  23.     ++n; // cộng 1 vào n ở đây
  24.     long ans = 0;
  25.     for (long i = 1; i <= round(sqrt(n)); ++i)
  26.         if (n % i == 0)
  27.             ans += 2; // nếu thấy một số i mà n chia hết cho i thì cộng số lượng ước lên 2
  28.         // Ví dụ: 6 : 3 = 2 mà 6 : 2 = 3
  29.  
  30.     cout << (perfect_square(n) ? ans-1 : ans) << nln;
  31.     // dòng này có nghĩa nếu n là số chính phương thì phải giảm số lượng đi 1.
  32.     // Ví dụ: 9 : 3 = 3 mà 9 : 3 = 3. Ta có 2 cặp (3, 3) (3, 3) giống nhau nên trừ đi 1 cặp
  33.     return 0;  
  34. }
Advertisement
Add Comment
Please, Sign In to add comment