fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int NWD(int a, int b)
  5. {
  6. while(a!=b)
  7. if(a>b)
  8. a-=b;
  9. else
  10. b-=a;
  11. return a;
  12. }
  13.  
  14. int main() {
  15. int ile, m;
  16. cin >> ile >> m;
  17. if (m>ile){
  18. cout << 0;
  19. return 0;
  20. }
  21. int tab[ile/m];
  22. for (int i =0; i<(ile/m); i++){
  23. tab[i] = m *(i+1);
  24. //cout << tab[i] << " ";
  25. }
  26. int wynik = (ile/m) -1;
  27. if (m%2 == 1){
  28. for (int k=1; k<(ile/m -1); k++){
  29. for (int i=k+1; i<ile/m; i+=2){
  30. wynik ++;
  31. //cout << tab[k] << " " << tab[i] << "\n";
  32. }
  33. }
  34. }
  35. else {
  36. int n = ile/m;
  37. for (int i =1; i<n-1; i++){
  38. for (int k =i+1; k<n; k++){
  39. //cout << tab[i] << " " << tab[k] << "\n";
  40. if (NWD (tab[i], tab[k]) == m){
  41. wynik ++;
  42. }
  43. }
  44. }
  45. }
  46.  
  47. cout << wynik;
  48. }
Success #stdin #stdout 0s 4528KB
stdin
6 2
stdout
3