Advertisement
Guest User

Untitled

a guest
Jun 29th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. /*
  2. Napišite program koji omogućava da unese prirodni broj n i u slučaju da broj nije prost (broj koji je djeljiv samo sa 1 i sa samim sobom) potrebno ga je rastaviti na proste faktore. Svaki složeni broj se može rastaviti na proste faktore (brojeve) koji množenjem daju taj broj.
  3. Npr. broj 48=2*2*2*2*3
  4. 100=2*2*5*5
  5. 60=2*2*3*5
  6. Upotrijebite funkcije:
  7. bool prost (int);
  8. void ispis (int);
  9. */
  10. #include <iostream>
  11. using namespace std;
  12.  
  13. bool prost(int);
  14. void ispis(int);
  15.  
  16. void main() {
  17.     int n;
  18.     do {
  19.         cin >> n;
  20.     } while (n <= 0);
  21.  
  22.     if (prost(n))
  23.         cout << "Broj je prost." << endl;
  24.     else
  25.         ispis(n);
  26. }
  27.  
  28. bool prost(int n) {
  29.     for (int i = 2; i <= n / 2; i++) {
  30.         if (n % i == 0)
  31.             return false;
  32.     }
  33.     return true;
  34. }
  35.  
  36. void ispis(int n) {
  37.     bool prvi = true;
  38.     cout << n << "=";
  39.  
  40.     for (int i = 2; n != 1; i++)
  41.     {
  42.         while (prost(i) && n % i == 0)
  43.         {
  44.             n /= i;
  45.             cout << (prvi ? "" : "*") << i;
  46.             prvi = false;
  47.         }
  48.     }
  49.     cout << endl;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement