Advertisement
Five_NT

[Atestat][C++] Problema 2

Nov 29th, 2014
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.79 KB | None | 0 0
  1. /*
  2.  
  3. 2. Se citește de la tastatură un număr natural n cu cel mult nouă cifre. Scrieți un program care verifică  dacă există un
  4. număr natural k cu proprietatea că n=1*2*3*…*k. Daca exista un astfel de numar, programul va afisa mesajul “Da” și valoarea k,
  5. altfel va afisa mesajul “Nu”.(intensiv: valoarea se determină utilizând o metodă eficientă din punct de vedere al timpului
  6. de execuție)
  7.  
  8. */
  9. #include <iostream>
  10.  
  11. using namespace std;
  12.  
  13. long n;
  14. int k;
  15.  
  16. void citire()
  17. {
  18.     cout << "n: "; cin >> n;
  19. }
  20.  
  21. void solv()
  22. {
  23.     int p = 1;
  24.     k = 0;
  25.     //cout << p;
  26.     while( p < n)
  27.     {
  28.         k ++;
  29.         p = p * k;
  30.     }
  31.     if ( p == n ) cout << "Da, " << k;
  32.     else cout << "Nu.";
  33. }
  34. int main()
  35. {
  36.     citire();
  37.     solv();
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement