Să se genereze în doi vectori a şi b, şi apoi să se alişeze, termenii sirurilor an si bn definite recursive astfel 8

an=(an-1+bn-1)/2                             bn=(an-1+2xbn-1)/3

…………………………………………………………………………….

a1=(a0+b0)/2                                   b1=(a0+2xb0)/3

unde a0, b0 şi n se citesc de la tastatură.

#include <iostream>

using namespace std;

int main() {

    int n, a0, b0;

    cin >> n >> a0 >> b0;

    int a[n], b[n];

    a[0] = a0;

    b[0] = b0;

    int c[n];

    for (int i = 1; i < n; i++) {

        int an = (a[i-1] + b[i-1]) / 2;

        int bn = (a[i-1] + 2*b[i-1]) / 3;

        a[i] = an;

        b[i] = bn;

        c[i] = min(a[i], b[n-i-1]);

        c[i+n-1] = max(a[i], b[n-i-1]);

    }

    for (int i = 0; i < 2*n-2; i++) {

        cout << c[i] << ” „;

    }

    cout << endl;

    return 0;

}

Pentru a rezolva această problemă, vom folosi o buclă for pentru a genera fiecare termen din șirurile an și bn în funcție de termenii anteriori. Vom declara și initializa vectorii a și b cu valorile a0 și b0 citite de la tastatură, apoi vom declara vectorul c ca un vector gol.

În fiecare iterație a buclei for, vom calcula valorile an și bn folosind valorile anterioare și vom adăuga aceste valori în vectorii a și b. De asemenea, vom calcula valorile minime și maxime și le vom adăuga în vectorul c.

La final, vom afișa conținutul vectorului c.

Similar Posts

Lasă un răspuns

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