Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.52 KB | None | 0 0
  1.  /*Napisz program pobierający od użytkownika liczbę całkowitą R (R>1) i liczbę rzeczywistą dodatnią S, a następnie
  2.  informujący ile kolejnych liczb z ciągu 1, R-1, R^2-2, R^3-3, R^4-4, … należy dodać, aby otrzymać liczbę nie mniejszą
  3.  niż S, ale koniecznie nieparzystą, oraz o ile wynik tego dodawania będzie większy od S.
  4.  Dla R=2 ciąg przyjmuje postać 1, 1, 2, 5, 12, 27, …, więc sumy kolejnych wartości tworzą ciąg 1, 2, 4, 9, 21, 48, …
  5.  Przykłady:
  6.  • dla R=2 i S=9 otrzymamy wynik: liczb: 4, wynik rowny
  7.  • dla R=3 i S=30.5 otrzymamy wynik: liczb: 5, wynik wiekszy o 80.5 */
  8.  
  9.  #include<iostream>
  10.  #include<cmath>
  11.  
  12.  using namespace std;
  13.  
  14.  int main()
  15.  {
  16.      int R, wynik=1, ileliczb=1;
  17.      float S;
  18.  
  19.      cout<<"Podaj liczbe calkowita: ";
  20.      cin>>R;
  21.      while(R<=1)
  22.      {
  23.          cout<<"Liczba nie moze byc mniejsza o 1. Podaj liczbe calkowita: ";
  24.          cin>> R;
  25.      }
  26.  
  27.      cout<<"Podaj liczbe rzeczywista: ";
  28.      cin>>S;
  29.  
  30.      while(S<1)
  31.      {
  32.          cout<<"Liczba ta nie moze byc ujemna. Podaj liczbe rzeczywista: ";
  33.          cin>>S;
  34.      }
  35.  
  36.      int i=1;
  37.  
  38.      while(wynik<S)
  39.      {
  40.          wynik+=pow(R, i)-i;
  41.          i++;
  42.          ileliczb++;
  43.          if(wynik>S) break;
  44.      }
  45.      cout<<"Wynik = "<<wynik<<endl;
  46.      cout<<"Nalezalo dodac " <<ileliczb<<" liczby";
  47.  
  48.     float wynikowa=wynik-S;
  49.  
  50.     if(wynikowa==S)
  51.         cout<<"\nWynik rowny. \n";
  52.     else
  53.         cout<<"\nWynik jest wiekszy o "<<wynikowa<<endl;
  54.  
  55.  
  56.      return 0;
  57.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement