Предмет: Информатика, автор: kdkoksokfokskdso

c++ треугольник паскаля
Треугольник Паскаля строится следующим образом. Первая строка состоит из одного числа, равного единице. Каждая следующая содержит на одно число больше, чем предыдущая. Первое и последнее из этих чисел равны 1, а все остальные вычисляются как сумма числа, стоящего в предыдущей строке над ним и числа, стоящего в предыдущей же строке слева от него.

Входные данные.
Записано одно число N (0 ≤ N ≤ 30).

Выходные данные.
Вывести N строк треугольника Паскаля.

Примечание. Все числа в треугольнике Паскаля при указанных ограничениях входят в integer.

Пример входных данных
8

Пример выходных данных
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
помогите пожалуйста, понять не могу

Ответы

Автор ответа: musicwave15
1

#include <iostream>

using namespace std;

                   

double Cnk(int N,int K){

return ( (N<K) ? 0 : ((K==0) ? 1 : ((N-K+1) / double(K) * Cnk(N,K-1))) );

}

                 

int main(){

   int n;

   cin>>n;

for (int j = 0; j <= n; j++) {

 for (int i=0; i <=j ; i++)

  cout<<Cnk(j,i)<<" ";

 cout<<"\n";

}

   std::cin.get();

   std::cin.get();

   return 0;

}


kdkoksokfokskdso: а почему выводит лишнюю строку? с:
musicwave15: какую именно? Или Вы про то, что на 1 строку длиннее нежели нужно?
kdkoksokfokskdso: да, про то, что на строку длиннее
musicwave15: после cin>>n; напишите n = n-1 и всё будет хорошо)
Похожие вопросы