Advertisement
Guest User

Untitled

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