Advertisement
Guest User

Untitled

a guest
Nov 28th, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <locale>
  3. /*Egy n szám extraprím, ha prímszám, és az összes olyan szám, amelyet az n szám
  4. számjegyeinek permutációi során kapunk, ugyancsak prímszám. Például a 113 extraprím,
  5. mivel 113, 311, 131 ugyancsak prímszámok.
  6. a) Írja meg az f, egyparaméteres alprogram teljes definícióját, amely:
  7. - az a paraméterben megkap egy maximum 3 számjegyű természetes számot (a>1)
  8. - visszaadja az a paraméter törzstényezőkre bontásában szereplő tényezők hatványainak
  9. összegét.
  10. Példa: a=90 esetén az alprogram által visszatérített érték 4, mivel a=2*32
  11. *5 és 1+2+1=4.
  12. (4p.)
  13. b) Írjon egy C/C++ programot, amely billentyűzetről beolvassa az n, 2≤n≤999 természetes
  14. számot, majd az f alprogram célszerű meghívásaival kiírja a képernyőre a DA üzenetet, ha
  15. n extraprim, különben a NU üzenetet írja ki.*/
  16. using namespace std;
  17.  
  18. void permute(int k,int size);
  19. void printArray(int size);
  20. void swap(int x, int y);
  21. //HIBÁS
  22. int f1(int n)
  23. {
  24.     int y;
  25.     int o2=0,o3=0,o5=0;
  26.     bool h=false,g=false;
  27.     do
  28.     {
  29.         y=2;
  30.         do
  31.         {
  32.             if(n%y==0)
  33.             {
  34.                 if(y==n)
  35.                 {
  36.                     g=true;
  37.                 }
  38.                 h=true;
  39.                 n=n/y;
  40.             }
  41.             else y++;
  42.  
  43.         }while(h==false);
  44.  
  45.         if(y==2) {o2++;cout<<"o2: "<<o2<<" ";}
  46.         if(y==3) {o3++;cout<<"o3: "<<o3<<" ";}
  47.         if(y==5) {o5++;cout<<"o5: "<<o5<<" "<<endl;}
  48.  
  49.     }while(g==false);
  50.  
  51.     return o2+o3+o5;
  52. }
  53. int vizsgalat(int n)
  54. {
  55.     int i, sz=0;
  56.     bool b;
  57.     for(i=1;i<=n;i++)
  58.     {
  59.         if(n%i==0) sz++;
  60.     }
  61.     if(sz!=2) b=false;
  62.     else b=true;
  63.     return b;
  64. }
  65. void f2(int n)
  66. {
  67.     if(vizsgalat(n)=false) return 0;
  68.     int t[100],p=0;    for(i=0;i<100;i++) t[i]=0;
  69.     do
  70.     {
  71.         t[p]=n%10;
  72.         n=n/10;
  73.         //cout<<t[p]<<" ";
  74.         p++;
  75.     }while(n!=0);
  76.     permute(p+2,p);
  77.  
  78. }
  79.  
  80. //=========================================================
  81.  
  82. int array[10] = {0,1,2,3,4,5,6,7,8,9};
  83.  
  84. void swap(int x, int y){
  85.     int temp = array[x];
  86.     array[x]=array[y];
  87.     array[y]=temp;
  88.  
  89.     return;
  90. }
  91.  
  92. void printArray(int size){
  93.     int i;
  94.  
  95.     for (i=0;i<size;i++)
  96.         std::cout << array[i] << " ";
  97.  
  98.     std::cout << std::endl;
  99.  
  100.     return;
  101. }
  102.  
  103. void permute(int k,int size,int n){
  104.     int i;
  105.  
  106.     if (k==0)
  107.         printArray(size);
  108.     else{
  109.         for (i=k-1;i>=0;i--){
  110.             swap(i,k-1);
  111.             permute(k-1,size);
  112.             swap(i,k-1);
  113.         }
  114.     }
  115.  
  116.     return;
  117. }
  118. //=========================================================
  119.  
  120. int main()
  121. {
  122.     setlocale(LC_ALL, "");
  123.     int n;
  124.     cout<<"Az 'n' szám: "; cin>>n;
  125.     //cout<<"Az A alpont eredménye: "<<f1(n);
  126.     cout<<"A B alpont eredménye: ";
  127.     f2(n);
  128.     return 0;
  129. }
  130. //=========================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement