Advertisement
a53

ndivtri_OF

a53
Jan 5th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int nrDiv(int n)
  4. {
  5. int nr = 1, d=2, k;
  6. while(n>1)
  7. {
  8. k = 0;
  9. while (n % d == 0)
  10. {
  11. n = n / d;
  12. k++;
  13. }
  14. if(k)
  15. nr = nr * (k + 1);
  16. d++;
  17. if(n>1 && d*d>n)
  18. d=n;
  19. }
  20. return nr;
  21. }
  22. int triunghiular(int n)
  23. {
  24. int p=1, q=1, k=0, i=2;
  25. if (n == 1)
  26. return 3;
  27. while (k <= n)
  28. {
  29. if (i % 2 == 0)
  30. p = nrDiv(i + 1);
  31. else
  32. q = nrDiv((i + 1) / 2);
  33. k = p * q;
  34. i++;
  35. }
  36. return i * (i - 1) / 2;
  37. }
  38. int main()
  39. {
  40. int n;
  41. cin >> n;
  42. cout << triunghiular(n);
  43. return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement