|

Sa se afiseze primii n termeni ai sirului (n se introduce de la tastatura): 1, 2, 1,1,2, 3, 4, 3, 2, 1, 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1, .. 9

#include <iostream>

int main() {

    int n;

    std::cout << „Introduceti numarul n: „;

    std::cin >> n;

    int i = 1; // contor pentru termenii sirului

    int seq_len = 1; // lungimea secventei curente

    bool increasing = true; // daca secventa curenta este crescatoare sau descrescatoare

    while (i <= n) {

        // afisam termenul curent

        std::cout << i << ” „;

        i++;

        // daca am ajuns la finalul secventei curente, o schimbam

        if (i > seq_len) {

            increasing = !increasing;

            seq_len++;

        }

        // daca secventa este crescatoare, adaugam 1 la termenul curent

        if (increasing) {

            i += (seq_len – 1);

        }

        // daca secventa este descrescatoare, scazam termenul curent cu 1

        else {

            i -= (seq_len – 1);

        }

    }

    return 0;

}

Acest program citește de la tastatură numărul n și apoi folosește un contor i, o variabilă seq_len pentru a ține evidența lungimii secvenței curente și o variabilă increasing pentru a ține evidența dacă secvența curentă este crescătoare sau descrescătoare. În bucla while, programul afișează termenul curent, apoi decide dacă trebuie să schimbe secvența curentă (daca a ajuns la finalul acesteia). Dacă secvența curentă este crescătoare, adaugă la termenul curent lungimea secvenței – 1, iar dacă este descrescătoare, scade termenul curent cu lungimea secvenței – 1.

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *