Фактически требуется вычислить значение следующего выражения:
В связи с ограниченной разрядностью представления целых чисел в традиционном Паскале, используется появившийся в PascalABC.Net 3.0 тип данных BigInteger, имеющий произвольную разрядность.
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016 begin var n:=ReadInteger('n='); var s:BigInteger:=0; for var i:=1 to n do begin var sp:BigInteger:=1; for var j:=i to 2*i do sp*=j; s+=sp end; Writeln('S=',s) end.
#include <iostream> using namespace std; int main() { setlocale (0,""); int n1,n2,n3,p1,p2,p3; cout<<"введите количество учеников в каждом классе"<<endl; cout<<"1-"; cin>>n1; cout<<"2-"; cin>>n2; cout<<"3-"; cin>>n3; p1=n1/2; if (n1%2!=0) p1++; p2=n2/2; if (n2%2!=0) p2++; p3=n3/2; if (n3%2!=0) p3++; cout<<"для первого класса - "<<p1<<endl; cout<<"для второго класса - "<<p2<<endl; cout<<"для третьего класса - "<<p3<<endl; return 0; }
В связи с ограниченной разрядностью представления целых чисел в традиционном Паскале, используется появившийся в PascalABC.Net 3.0 тип данных BigInteger, имеющий произвольную разрядность.
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
var n:=ReadInteger('n=');
var s:BigInteger:=0;
for var i:=1 to n do begin
var sp:BigInteger:=1;
for var j:=i to 2*i do sp*=j;
s+=sp
end;
Writeln('S=',s)
end.
Тестовые решения:
n= 10
S=6867491336546
n= 20
S=6790094079076573854634585045346
n= 200
S=16259132945245603272459357532926431055851011262226423901521610672683053074122398284194138200811393508183584635163325580662485661758792994853918852068566553866936403927187322304685846233840511935657079269303199247681681900473643377764171469288217130928626467970695282872799909803648986880297649242631688825602025883316969148173917409343244672476380960595892701641078133125672741993996178795224513183779220724481183819428328185978629676722172834554113541584734035734977004732415721620206280485845346
using namespace std;
int main()
{
setlocale (0,"");
int n1,n2,n3,p1,p2,p3;
cout<<"введите количество учеников в каждом классе"<<endl;
cout<<"1-";
cin>>n1;
cout<<"2-";
cin>>n2;
cout<<"3-";
cin>>n3;
p1=n1/2; if (n1%2!=0) p1++;
p2=n2/2; if (n2%2!=0) p2++;
p3=n3/2; if (n3%2!=0) p3++;
cout<<"для первого класса - "<<p1<<endl;
cout<<"для второго класса - "<<p2<<endl;
cout<<"для третьего класса - "<<p3<<endl;
return 0;
}