Advertisement
GerexD

alprog1/1-6

Oct 31st, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1.  
  2. /**
  3. 1. Adott egy természetes szám. Töröljük a számból egy adott x számjegy minden előfordulását. Írjál függvényt, amely létrehozza az új számot.*/
  4. void torol(int n, int x)
  5. {
  6. int h=1, uj=0;
  7. while(n!=0)
  8. {
  9. if(n%10!=x)
  10. {
  11. uj=uj*h+n%10;
  12. n=n/10;
  13. h=h*10;
  14. }
  15. else n=n/10;
  16. }
  17. cout<<"Uj szam "<<uj;
  18. }
  19. ++++++++++++++++++++++++++
  20. 2. Írj alprogramokat:
  21. • két szám legkisebb közös többszöröse
  22. • három szám ln.k.o-ja
  23. */
  24. using namespace std;
  25. int lnko(int a,int b)
  26. {
  27. int m;
  28. do{m=a%b;
  29. a=b;
  30. b=m;}while(m!=0);
  31. return a;
  32. }
  33. int lkkt(int a,int b)
  34. {
  35. return a*b/lnko(a,b);
  36. }
  37. +++++++++++++++++++++++++
  38. 3. Írjuk ki a tökéletes prímeket 1-től 1000-ig. Tökéletes prímek azok a prímek, amelyeknek a tükörképük is prím.
  39. Pl. 31 és 13
  40. Ehhez írjunk függvényt:
  41. - a prímszámra
  42. - egy szám fordítottjának meghatározására.
  43. */
  44. using namespace std;
  45. int prim(int n)
  46. {
  47. if(n<2) return 0;
  48. for(int i=2;i<=sqrt(n);i++)
  49. if(n%i==0) return 0;
  50. return 1;
  51. }
  52. int ford(int n)
  53. {
  54. int f=0;
  55. while(n!=0)
  56. {
  57. f=f*10+n%10;
  58. n=n/10;
  59. }
  60. return f;
  61. }
  62. int main()
  63. {
  64. for(int i=1;i<=1000;i++)
  65. if(prim(i)==1 && prim(ford(i))==1) cout<<i<<" ";
  66. return 0;
  67. }
  68. +++++++++++++++++++++
  69. 4. Adott az a és b természetes szám. Írjuk ki az [a,b] intervallumból azokat a számokat, amelyek oszthatóak a számjegyeiknek összegével. (számjegyek összegére függvény)
  70. Pl. ha a=20 és b=50, akkor eredmény:
  71. 20, 21, 24, 27, 30, 36, 40, 42, 45, 48, 50.
  72. */
  73. using namespace std;
  74. int szjossz(int n)
  75. {
  76. int osz=0;
  77. while(n!=0)
  78. {
  79. osz=osz+n%10;
  80. n=n/10;
  81. }
  82. return osz;
  83. }
  84. int main()
  85. {
  86. int a,b;
  87. cout<<"A ";cin>>a;cout<<"B ";cin>>b;
  88. for(int i=a;i<=b;i++)
  89. if(i%szjossz(i)==0) cout<<i<<" ";
  90. return 0;
  91. }
  92. +++++++++++++++++++++
  93. 5. Adott egy természetes szám, amely különböző számjegyekből áll. Cseréljuk fel a legkisebb számjegyét a legnagyobbal.
  94. Pl. adott 521368 az új szám 528361.
  95. */
  96. using namespace std;
  97. int legk(int n)
  98. {
  99. int m=9;
  100. while(n!=0)
  101. {
  102. if(n%10<m) m=n%10;
  103. n=n/10;
  104. }
  105. return m;
  106. }
  107. int legn(int n)
  108. {
  109. int m=0;
  110. while(n!=0)
  111. {
  112. if(n%10>m) m=n%10;
  113. n=n/10;
  114. }
  115. return m;
  116. }
  117. int main()
  118. {
  119. int uj=0,h=1;
  120. int n;
  121. cout<<"N ";cin>>n;
  122. while(n!=0)
  123. {
  124. if(n%10==legk(n))
  125. uj=uj*h+legn(n);
  126. else if(n%10==legn(n))
  127. uj=uj*h+legk(n);
  128. else uj=uj*h+n%10;
  129.  
  130. h=h*10;
  131. n=n/10;
  132. }
  133. cout<<uj;
  134. return 0;
  135. }
  136. +++++++++++++++++++
  137. 6. Írj függvényt egy adott szám n. hatványának meghatározására.*/
  138. using namespace std;
  139. int hatvany(int a, int n)
  140. {
  141. int i=1,uj=a;
  142. while(i!=n)
  143. {
  144. uj=uj*a;
  145. i++;
  146. }
  147. return uj;
  148. }
  149. int main()
  150. {
  151. int a,n;
  152. cout<<"A ";cin>>a;
  153. cout<<"N ";cin>>n;
  154. cout<<hatvany(a,n);
  155. return 0;
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement