Paradismebel
?>

C++ треугольник паскаля Треугольник Паскаля строится следующим образом. Первая строка состоит из одного числа, равного единице. Каждая следующая содержит на одно число больше, чем предыдущая. Первое и последнее из этих чисел равны 1, а все остальные вычисляются как сумма числа, стоящего в предыдущей строке над ним и числа, стоящего в предыдущей же строке слева от него. Входные данные. Записано одно число N (0 ≤ N ≤ 30 Выходные данные. Вывести N строк треугольника Паскаля. Примечание. Все числа в треугольнике Паскаля при указанных ограничениях входят в integer. Пример входных данных 8 Пример выходных данных понять не могу

Информатика

Ответы

Voronin-Albertovich

#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;

}

dimkimka386
1) Все правильно, это и будет разность между максимумом и минимумом
program one;
var input,max,min:integer;
    i:integer;
begin
  readln(input);
  max:=input;
  min:=input;
  for i:=2 to 25 do begin
    readln(input);
    if input>max then max:=input;
    if input<min then min:=input;
  end;
  writeln(max-min);
end.

2) Гораздо проще не суммировать в цикле степени половины, а воспользоваться тем, что 1+\frac12+...+\frac1{2^n}=2-\frac1{2^n}.
program two;
var res:real;
    i,n:integer;
begin
  readln(n);
  res:=0.5;
  for i:=2 to n do res*=0.5;
  res:=2-res;
  writeln(res);
end.

3) Здесь существует несколько реализации; в частности, можно было просто считать число как строку и возвратить ее в перевернутом виде (ReverseString(s)), не заботясь о переполнении, однако я решил, что по логике задания нужно делать через числа. Впрочем, для выявления случаев переполнения все равно используется переворот строки
program three;
var a,b:int64; {можно использовать uint64, если в вашей среде Паскаля  этот тип поддерживается, тогда число в строке ниже надо заменить}
begin
  readln(a);
  if ReverseString(IntToStr(a))>'9223372036854775807' then writeln('Слишком много') else begin
    while a>0 do begin
      b:=10*b+a mod 10;
      a:=a div 10;
    end;
    writeln(b);
  end;
end.
most315
1) Все правильно, это и будет разность между максимумом и минимумом
program one;
var input,max,min:integer;
    i:integer;
begin
  readln(input);
  max:=input;
  min:=input;
  for i:=2 to 25 do begin
    readln(input);
    if input>max then max:=input;
    if input<min then min:=input;
  end;
  writeln(max-min);
end.

2) Гораздо проще не суммировать в цикле степени половины, а воспользоваться тем, что 1+\frac12+...+\frac1{2^n}=2-\frac1{2^n}.
program two;
var res:real;
    i,n:integer;
begin
  readln(n);
  res:=0.5;
  for i:=2 to n do res*=0.5;
  res:=2-res;
  writeln(res);
end.

3) Здесь существует несколько реализации; в частности, можно было просто считать число как строку и возвратить ее в перевернутом виде (ReverseString(s)), не заботясь о переполнении, однако я решил, что по логике задания нужно делать через числа. Впрочем, для выявления случаев переполнения все равно используется переворот строки
program three;
var a,b:int64; {можно использовать uint64, если в вашей среде Паскаля  этот тип поддерживается, тогда число в строке ниже надо заменить}
begin
  readln(a);
  if ReverseString(IntToStr(a))>'9223372036854775807' then writeln('Слишком много') else begin
    while a>0 do begin
      b:=10*b+a mod 10;
      a:=a div 10;
    end;
    writeln(b);
  end;
end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

C++ треугольник паскаля Треугольник Паскаля строится следующим образом. Первая строка состоит из одного числа, равного единице. Каждая следующая содержит на одно число больше, чем предыдущая. Первое и последнее из этих чисел равны 1, а все остальные вычисляются как сумма числа, стоящего в предыдущей строке над ним и числа, стоящего в предыдущей же строке слева от него. Входные данные. Записано одно число N (0 ≤ N ≤ 30 Выходные данные. Вывести N строк треугольника Паскаля. Примечание. Все числа в треугольнике Паскаля при указанных ограничениях входят в integer. Пример входных данных 8 Пример выходных данных понять не могу
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

alisapavlushina
aivanova
bakerkirill
Александровна-Павловна
vitalina3012
anchutk3016
Андрееевич787
gorovoy-dv4088
Asira926
dawlatowajana
marat7
sleek73
mashiga2632
Елена
alexander4590