Problem z dodaniem liczb
Ostatnio zmodyfikowano 2017-06-11 11:35
PyzMenPL Temat założony przez niniejszego użytkownika |
Problem z dodaniem liczb » 2017-06-11 09:53:05 Witam. Mam problem z moim programem. Jak widzicie wypisze on liczby od 1 do 100. Problem jest w tym że teraz chcę to dodać (czyli 1+2+3+4+5...) i pokazać #include <iostream> using namespace std; int main() { ; for( int i = 1; i < 101; i++ ) { cout << i << "\n" ; } ; }
|
|
carlosmay |
» 2017-06-11 11:04:50 Co to za formatowanie kodu? Po co zbędne średnik i dlaczego w takich dziwnych miejscach? #include <iostream> using namespace std; int main() { for( int i = 1; i < 101; i++ ) { cout << i << "\n"; } } Tak mogłoby to wyglądać ;) W dodawaniu potrzebujesz zmienną do przechowania sumy i aktualizuj ją w każdym obrocie pętli. |
|
Kinexity |
» 2017-06-11 11:35:54 To czego chcesz dokonać można zrobić na dwa sposoby: - Sposób z pętlą: #include "iostream" using namespace std;
int main() { int suma = 0; for( int i = 0; i <= 100; i++ ) { suma += i; } cout << suma << endl; }
- Sposób bez pętli: #include "iostream" using namespace std;
int main() { cout <<(( 1 + 100 ) *( 100 - 1 + 1 ) / 2 ) << endl; }
W drugim sposobie może cię zdziwić dlaczego nie skróciłem działania 100 - 1 + 1 do samego 100, ale już spieszę z wyjaśnieniem - zostawiłem tak, aby było widać, że jest to wzór na sumę ciągu: a > b <=> (a+b)/2*(a-b+1). Zgodnie z podanym wzorem już samo a+b dzieli się przez 2, lecz to dzielenie przesunąłem na koniec w kodzie, aby była gwarancja, że dzielona liczba będzie parzysta - w skrócie, aby była pewność, że program nie zgubi miejsca dziesiętnego po przecinku. |
|
« 1 » |