Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Napisz program pobierający od użytkownika liczbę całkowitą R (R>1) i liczbę rzeczywistą dodatnią S, a następnie
- 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ą
- niż S, ale koniecznie nieparzystą, oraz o ile wynik tego dodawania będzie większy od S.
- 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, …
- Przykłady:
- • dla R=2 i S=9 otrzymamy wynik: liczb: 4, wynik rowny
- • dla R=3 i S=30.5 otrzymamy wynik: liczb: 5, wynik wiekszy o 80.5 */
- #include<iostream>
- #include<cmath>
- using namespace std;
- int main()
- {
- int R, wynik=1, ileliczb=1;
- float S;
- cout<<"Podaj liczbe calkowita: ";
- cin>>R;
- while(R<=1)
- {
- cout<<"Liczba nie moze byc mniejsza o 1. Podaj liczbe calkowita: ";
- cin>> R;
- }
- cout<<"Podaj liczbe rzeczywista: ";
- cin>>S;
- while(S<1)
- {
- cout<<"Liczba ta nie moze byc ujemna. Podaj liczbe rzeczywista: ";
- cin>>S;
- }
- int i=1;
- while(wynik<S)
- {
- wynik+=pow(R, i)-i;
- i++;
- ileliczb++;
- if(wynik>S) break;
- }
- cout<<"Wynik = "<<wynik<<endl;
- cout<<"Nalezalo dodac " <<ileliczb<<" liczby";
- float wynikowa=wynik-S;
- if(wynikowa==S)
- cout<<"\nWynik rowny. \n";
- else
- cout<<"\nWynik jest wiekszy o "<<wynikowa<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement