Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.45 KB | None | 0 0
  1. template <typename T> void Dzielniki(T *liczba, bool liczbadz)
  2. {
  3.     vector<int> dzielniki;
  4.    
  5.     for(int i=1; i<=sqrt(*liczba); i++)
  6.     {
  7.         if(*liczba%i==0)
  8.         {
  9.             dzielniki.push_back(i);
  10.         }
  11.     }
  12.    
  13.     for(int i=dzielniki.size()-1; i>=0; i--)
  14.     {
  15.         if(*liczba/dzielniki[i]!=dzielniki[i])
  16.         {
  17.             dzielniki.push_back(*liczba/dzielniki[i]);
  18.         }
  19.     }
  20.    
  21.     cout << "Dzielniki liczby: " << *liczba << endl;
  22.    
  23.     for(int i=0; i<dzielniki.size(); i++)
  24.     {
  25.         cout << dzielniki[i] << endl;
  26.     }
  27.    
  28.     if(liczbadz)
  29.     {
  30.         cout << "Liczba dzielnikow liczby: " << *liczba << " to: " << endl;
  31.     }
  32. }
  33.  
  34. int NWD(int a, int b)
  35. {
  36.     while(a!=b)
  37.     {
  38.         if(a>b)
  39.         {
  40.             a-=b;
  41.         }
  42.         else
  43.         {
  44.             b-=a;
  45.         }
  46.     }
  47.     return a;
  48. }
  49.  
  50. void NWW_NWD()
  51. {
  52.     int a, b, c;
  53.     cout << "Podaj dwie liczby: ";
  54.     cin >> a >> b;
  55.    
  56.     Dzielniki(&a, true);
  57.     Dzielniki(&b, true);
  58.    
  59.     cout << "Podaj trzecia liczbe: ";
  60.     cin >> c;
  61.    
  62.     int nwd = NWD(a,b);
  63.     nwd = NWD(nwd, c);
  64.    
  65.     int nww = (a*b)/nwd;
  66.     nww = (nww*c)/nwd;
  67.    
  68.     cout << "NWD: " << nwd << endl;
  69.     cout << "NWW: " << nww << endl;
  70. }
  71.  
  72. void Liczby_losowe()
  73. {
  74.     int K;
  75.     cout << "Podaj K: ";
  76.     cin >> K;
  77.     vector<float> wektor;
  78.     wektor.resize(K);
  79.    
  80.     for(int i=0; i<K; i++)
  81.     {
  82.         wektor[i]= (rand() % (2001) - (1000)) / 1000.f;
  83.     }
  84.    
  85.     for(int i=0; i<K; i++)
  86.     {
  87.         cout.precision(3);
  88.         cout << fixed << wektor[i] << endl;
  89.     }
  90.    
  91.     float min;
  92.     float max;
  93.    
  94.     min=wektor[0];
  95.     max=wektor[0];
  96.    
  97.     for(int i=0; i<K; i++)
  98.     {
  99.         if(wektor[i]<min)
  100.         {
  101.             min = wektor[i];
  102.         }
  103.         if(wektor[i]>max)
  104.         {
  105.             max = wektor[i];
  106.         }
  107.     }
  108.    
  109.     static int liczMax = 0;
  110.     static int liczMin = 0;
  111.    
  112.     for(int i=0; i<K; i++)
  113.     {
  114.         if(wektor[i]==max)
  115.         {
  116.             liczMax+=1;
  117.         }
  118.         if(wektor[i]==min)
  119.         {
  120.             liczMin+=1;
  121.         }
  122.        
  123.     }
  124.    
  125.     cout << "Najmniejsza liczba to: " << min << endl;
  126.     cout << "Najwieksza liczba to: " << max << endl;
  127.    
  128.     cout << "Najmniejsza liczba powtorzyla sie: " << liczMin << endl;
  129.     cout << "Najwieksza liczba powtorzyla sie: " << liczMax << endl;
  130. }
  131.  
  132. bool Czy_pierwsza(int a)
  133. {
  134.     if(a<2) return false;
  135.    
  136.     for(int i=2; i<=sqrt(a); i++)
  137.         if(a%i==0)
  138.             return false;
  139.     return true;
  140. }
  141.  
  142. void Liczb_pierwsze()
  143. {
  144.     int S, K;
  145.     cin >> S >> K;
  146.    
  147.     for(; S <=K; S++)
  148.     {
  149.         if(Czy_pierwsza(S))
  150.         {
  151.             cout << S << " jest liczba pierwsza" << endl;
  152.         }
  153.         else
  154.         {
  155.             cout << S << " nie jest liczba pierwsza" << endl;
  156.         }
  157.     }
  158. }
  159.  
  160. void Faktoryzacja()
  161. {
  162.     int S, K;
  163.     cin >> S >> K;
  164.    
  165.     for(; S <=K; S++)
  166.     {
  167.         Dzielniki(&S, false);
  168.     }
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement