fbpx

Problema #842 – Dinti – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Pentru o serie de activități foarte sofisticate, Gigel are nevoie de un fierăstrău special, alcătuit din mai mulţi dinţi. Un fierăstrău de gradul n este format din două fierăstraie de gradul n-1, între care se află un dinte de mărime n. Un fierăstrău de gradul 1 are un singur dinte, de mărime 1.

Afișați un fierăstrău de grad n.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran un șir de numere naturale, separate prin câte un spațiu, reprezentând mărimea fiecărui dinte al fierăstrăului.

Restricții și precizări

  • 1 ≤ n ≤ 10

Exemplu

Intrare

3

Ieșire

1 2 1 3 1 2 1

Explicație

Un fierăstrău de grad 3 are la mijloc un dinte de mărime 3, între două fierăstraie de grad 2.

Un fierăstrău de grad 2 are la mijloc un dinte de mărime 2, între două fierăstraie de grad 1.

Un fierăstrău de grad 1 are un singur dinte, de mărime 1.

#include <bits/stdc++.h>
using namespace std;

void dinti(int n)
{
    if(n == 1)
        cout << 1 << ' ';
    else
    {
        dinti(n-1);
        cout << n << ' ';
        dinti(n-1);
    }
}

int main()
{
    int n;
    cin >> n;
    dinti(n);
    return 0;
}
Comentarii

S-ar putea sa iti placa