Programowanie

C++ Pętle. Zadanie z rozwiązaniem. Wielokrotności liczby

Rozwiążemy teraz proste zadanie w języku C++. Przećwiczymy sobie wykorzystanie pętli. Najlepszym sposobem na naukę języka programowania jest pisanie kodu, więc do dzieła ….

Zadanie

Napisz program wyświetlający wielokrotności liczby 11 mniejsze niż 400.

Rozwiązanie 1
W tym rozwiązaniu zauważamy, że pierwszą liczbą będzie 11. Następne możemy stworzyć po prostu dodając do niej 11. I znowu dodajemy 11… i znowu …. Ponieważ instrukcje wypisania liczby i zwiększenia licznika o 11 powtarzamy wielokrotnie – ujmujemy je w instrukcję while.

#include <iostream>
using namespace std;

int main(){

int i=11;
while (i<400)
    {
    cout<<i<<" ";
    i=i+11;
    }
return 0;
}

Rozwiązanie 2

W pętli while sprawdzenie warunku (<400) następuje jeszcze przed wykonaniem polecń zdefiniowanych w samej pętli.
Pętla może jednak sprawdzić warunek na końcu iteracji, w taki sposób działa pętla do while. Wykorzystajmy więc teraz tą pętlę:

#include <iostream>
using namespace std;

int main(){
    int i=11;
    do
    {
        cout<<i<<" ";
        i=i+11;
    } while (i<400);
    return 0;
}

Rozwiązanie 3

Program możemy napisać wykorzystując również pętlę for:

#include <iostream>
using namespace std;

int main(){

    for (int i=11;i<400;i+=11)
        cout<<i<<" ";
    return 0;
}

Rozwiązanie 4

Tu mamy inne podejście. Zauważamy, że wielokrotność 11 to po prostu liczba, która dzieli się przez 11. Dzieli się bez reszty, czy też inaczej – reszta z dzielenia liczby przez 11 jest równa 0.

Resztę z dzielenia sprawdzimy operatorem %. Zapis licznik%11 oznacza resztę z dzielenia liczby licznik przez 11, czyli w np. przypadku 12%11 wynikiem będzie 1, zaś w przypadku 22%11 wynikiem będzie 0.

#include <iostream>
using namespace std;

int main(){

    int licznik=0;
    while (licznik<=400)
    {
        licznik++;
        if (licznik % 11 == 0)
        {
            cout<<licznik<<" ";
        }
    }
    return 0;
}

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *