Загрузка...

Обьясните задачу с++

Тема в разделе C/C++ создана пользователем twilight777 9 дек 2020. 139 просмотров

  1. twilight777
    twilight777 Автор темы 9 дек 2020 :bitcoin: :tether: :eth: 200 13 май 2016
    Код


    #include <math.h>
    #include <iostream>
    #include <iomanip>

    using namespace std;
    int n, num, count1 = 0, count2 = 0;

    int rec(int i, int j)
    {
    if (j == 0 || j == i)
    {
    num = 1; count1++; return num;
    }
    num = rec(i - 1, j - 1) + rec(i - 1, j);
    count1++;
    return num;

    }
    int main()
    { cin >> n;
    int i = 0, j = 0;
    for (i = 0; i < n; i++)
    {
    cout << fixed << setw(1 + n * 3 - i * 3);
    for (int j = 0; j <= i; j++)
    {
    cout << rec(i, j) << fixed << setw(6);
    }
    cout << "\n";
    }
    cout << "\n" << count1 << "\n";
    for (i = 0; i < n; i++)
    {
    for (int j = 0; j <= i; j++)
    {

    if (j == 0)
    {
    num = 1;
    count2++;
    }
    if (i == 0 && j == 0)
    break;
    if (j == i)
    {
    num = 1;
    count2++;
    break;
    }
    int a = 1, b = 1, c = 1;
    for (int k = 1; k <= i; k++)
    {
    a *= k;
    count2++;
    }
    for (int k = 1; k <= j; k++)
    {
    b *= k;
    count2++;
    }
    for (int k = 1; k <= i - j; k++)
    {
    c *= k;
    count2++;
    }

    }
    }
    cout << "\n" << count2 << "\n";
    return 0;
    }


    Можете объяснить как работает задача?
    ТРЕУГОЛЬНИК ПАСКАЛЯ
    Если что там 2 метода итеративная и рекурсивная
     
Загрузка...
Top