Advertisement
MeehoweCK

Untitled

Oct 28th, 2020
874
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. /* W pliku 1028.txt macie 1000 liczb z przedzia³u <0:1000>
  2.     ZnajdŸ tak¹ parê liczb (lub takie pary liczb) a i b s¹siaduj¹cych,
  3.     dla których NWD(a,b) jest najwiêksze
  4. */
  5.  
  6. #include <iostream>
  7. #include <fstream>
  8.  
  9. using namespace std;
  10.  
  11. int nwd(int, int);
  12.  
  13. int main()
  14. {
  15.     int najwieksza;
  16.     int tablica[1000];
  17.     ifstream plik;
  18.  
  19.     plik.open("1028.txt");
  20.  
  21.     for(int i = 0; i < 1000; i++)
  22.     {
  23.         plik >> tablica[i];
  24.     }
  25.  
  26.     najwieksza = 0;
  27.  
  28.     for(int i = 0; i < 999; i++)
  29.     {
  30.         if(nwd(tablica[i], tablica[i + 1]) > najwieksza)
  31.             najwieksza = nwd(tablica[i], tablica[i + 1]);
  32.     }
  33.  
  34.     for(int i = 0; i < 999; i++)
  35.     {
  36.         if(nwd(tablica[i], tablica[i + 1]) == najwieksza)
  37.             cout << tablica[i] << '\t' << tablica[i + 1] << endl;
  38.     }
  39.  
  40.     plik.close();
  41.  
  42.     return 0;
  43. }
  44.  
  45. int nwd(int a, int b)
  46. {
  47.     while(a != b)
  48.     {
  49.         if(a > b)
  50.             a -= b;
  51.         else
  52.             b -= a;
  53.     }
  54.     return a;
  55.  
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement