Cześć,
siedzę nad zadaniem o następującej treści:
"Napisać program pobierający od użytkownika liczbę naturalną x, a następnie mówiący ile kolejnych liczb naturalnych należy dodać, aby otrzymać najmniejszą liczbę naturalną niemniejszą od x." *
* ja sobie narzuciłem dodatkowo (jak ostatnio), że użytkownik może co najwyżej mieć 5 podejść do wprowadzenia x, jako liczby naturalnej (całkowitej dodatniej).
Czy ktoś z Was ma "sprytniejszy" pomysł na rozwiązanie lub "lepszy" sposób na zapisanie mojego i czy moje jest w ogóle poprawne? Działa mi na wszystkim, co wprowadzam, ale czy to gwarancja poprawności kodu?
Mój program:
#include<iostream>
using namespace std;
cin >> a;
cout << endl;
if (a > 0)
{
while (true)
{
if (s < a)
{
s = s + (i+1);
i++;
}
else
break;
}
cout << "Aby otrzymac najmniejsza liczbe (calkowita) niemniejsza od podanej, \nnalezy dodac do siebie "
<< i << " kolejne liczby naturalne.";
break;
}
else
{
liczba_prob ++;
cout << "Twoja liczba jest niedodatnia, \nzostalo Ci: " << 5 - liczba_prob
<< " prob. \nWprowadz liczbe: ";
}
}
while (liczba_prob != 5);
if (liczba_prob == 5)
{
cout << "Wyczerpales limit podejsc!";
return 0;
}
else
{
cout << "Wykorzystales: " << liczba_prob << " prob.";
return 0;
}
}