Rozdział 30 - zadanie 3.
Ostatnio zmodyfikowano 2018-03-04 14:06
empty2102 Temat założony przez niniejszego użytkownika |
Rozdział 30 - zadanie 3. » 2018-03-04 12:42:22 Cześć wszystkim. Mam problem ze zrozumieniem działania programu który udało mi się napisać do zadania 3 z rozdziału 30. #include<iostream> using namespace std;
int main() { int suma = 0; for( int i = 1; i <= 44; i++ ) { for( int j = i + 1; j <= 45; j++ ) { for( int k = j + 1; k <= 46; k++ ) { for( int l = k + 1; l <= 47; l++ ) { for( int m = l + 1; m <= 48; m++ ) { for( int n = m + 1; n <= 49; n++ ) { suma++; } } } } } } cout << "Suma wynosi: " << suma << endl; return 0; }
Nie rozumiem dlaczego po wykonaniu programu wynik od razu pojawia się w konsoli, a gdy próbuje wypisywać każde dodawanie sumy w pętli to programowi zajmuje to ogromną ilość czasu. Jeżeli potrafi wykonać obliczenia tak szybko i wypisać sumę na sam koniec programu, to czemu nie potrafi również wypisywać inkrementującą się sumę aż do końca pętli w tak krótkim czasie? Jaka jest różnica obliczeniowa? Przecież obliczyć potrafi w ciągu ułamku sekundy, to nie poradzi sobie w tak krótkim wypisywaniu sumy na bieżąco? |
|
pekfos |
» 2018-03-04 13:29:03 Wypisywanie rzeczy do konsoli jest wolne. |
|
empty2102 Temat założony przez niniejszego użytkownika |
» 2018-03-04 13:54:07 Coś więcej? Przyczyna? Mechanizm? Nie brnąć w to i to mi wystarczy? |
|
YooSy |
» 2018-03-04 13:56:25 |
|
pekfos |
» 2018-03-04 14:06:00 Nie brnąć, po prostu konsola jest wolna. Jeśli uruchomisz program z przekierowaniem wyjścia do pliku, całość wykona się znacznie szybciej, niż gdyby wyniki były wyświetlane w konsoli. |
|
« 1 » |