Advertisement
BunchiePC

Parzystość, pierwszość, doskonałość (wskaźnik)

Apr 16th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <iostream>
  2. #include <math.h>
  3.  
  4. using namespace std;
  5.  
  6. void pierwszoscDoskonaloscNieparzystosc(int a,bool *czyp,bool *czyd,bool *czypier)
  7. {
  8.     *czypier=true;
  9.     int sumaDz=0;
  10.     if(a%2!=0) *czyp=true;
  11.     else *czyp=false;
  12.     for(int i=1;i<a;i++)
  13.     {
  14.         if(a%i==0)
  15.         {
  16.             sumaDz=sumaDz+i;
  17.         }
  18.     }
  19.     if(sumaDz==a) *czyd=true;
  20.     else *czyd=false;
  21.     for(int j=2; j*j<=a; j++)
  22.     {
  23.         if(a%j==0)
  24.         {
  25.             *czypier=false;
  26.             break;
  27.         }
  28.     }
  29.     if(a<=1) *czypier=false;
  30.  
  31. }
  32. int main()
  33. {
  34.     int liczba,sumaDz;
  35.     bool czyp,czyd,czypier;
  36.     cout<<"Podaj liczbe: ";
  37.     cin>>liczba;
  38.     pierwszoscDoskonaloscNieparzystosc(liczba,&czyp,&czyd,&czypier);
  39.     if(czyp==true) cout<<"Liczba jest nieparzysta";
  40.     else cout<<"Liczba jest parzysta";
  41.     cout<<endl;
  42.     if(czyd==true) cout<<"Liczba "<<liczba<<" jest doskonala";
  43.     else cout<<"Liczba "<<liczba<<" nie jest doskonala";
  44.     cout<<endl;
  45.     if(czypier==true) cout<<"Liczba "<<liczba<<" jest pierwsza";
  46.     else cout<<"Liczba "<<liczba<<" nie jest pierwsza";
  47.             return 0;
  48.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement