Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. // Funkcija koja nam kazuje je li broj prost ili nije. Nju cemo koristiti unutar rekurzije, ali
  7. // ona nije rekurzivna. Tek da nam bude kod laksi za citanje. Valjda znas kako se provjerava
  8. // prostost broja. Ako je djeljiv sa 2, onda nije prost. Ako je djeljiv sa bilo kojim neparnim brojem
  9. // poslje dva do svog kvadrata, onda nije prost.
  10. bool JeProst(long long n){
  11. if (n % 2 == 0) return false;
  12. for (int i=3; i<sqrt(n); i+=2){
  13. if (n%i == 0) return false;
  14. }
  15. return true;
  16. }
  17.  
  18. // Void funkcija, tako da ne mora nista vracati. U njoj pozivamo B i N koje cemo unjeti u main()-u. B nam JeProst
  19. // broj od KOJEG pocinjemo traznju prostih brojeva, a N nam je broj DO kojeg trazimo. Ako hoces da ti ide bez B-a,
  20. // onda samo u main()-u de-komentariši b = 3. To je zato jer ako tek kreiramo broj B u rekurzivnoj funkciji, ona
  21. // kad se bude ponavljala ce ponovo kreirati broj B u svojoj prvobitnoj formi (ovdje broj 3, jer je to prvi prosti
  22. // broj), a nama treba B da se krece unaprijed. valjda ima smisla. Unutar nje prvo provjeravamo je li broj B prost,
  23. // i ako jeste ispisujemo ga, a onda, ako je broj B manji od N, funkcija poziva samu sebe - ali sa B+1. Tada ta
  24. // novopozvana funkcija ce raditi isto kao i prethodna, ali sa brojem B za 1 vecim. Nakon nekog vremena broj B
  25. // ce dostici broj N i if (b<n) nece vise vaziti, pa ce funkcija sama sebe ukinuti.
  26. // Ovo je doslovno isto kao da smo napisali
  27. /*
  28. for (b; b<n; b++){
  29. if (JeProst(b))
  30. cout << b;
  31. }
  32.  
  33. */
  34. void ProstiDoN(long long b, long long n){
  35. if (JeProst(b))
  36. cout << b << endl;
  37. if (b<n)
  38. ProstiDoN(b+1, n);
  39. }
  40.  
  41. //Ovdje ih upisujemo, i tada!
  42.  
  43. int main() {
  44. long long b, n;
  45. //b = 3;
  46. cin >> b >> n;
  47. ProstiDoN(b, n);
  48.  
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement