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

Перевести код из Java в Pascal:



import java.util.*;

public class Main
{
static long[] countPerfect(int n)
{
int i, j;
long cat[]= new long[51];
cat[0] = cat[1] = 1;
for(i = 2; i <= n; i++)
for(j = 0; j < i; j++)
cat[i] += cat[j] * cat[i - j - 1];
return cat;
}

public static void main(String[] args)
{
long cat[] = countPerfect(50);
Scanner con = new Scanner(System.in);
while(con.hasNext())
{
int n = con.nextInt();
System.out.println(cat[n/2]);
}
}
}

Ответы

Автор ответа: Аноним
0
// PascalABC.NET 3.2, сборка 1407 от 18.03.2017
// Внимание! Если программа не работает, обновите версию!

function countPerfect(n:integer):array of BigInteger;
begin
  var cat:=new BigInteger[51];
  (cat[0],cat[1]):=(1,1);
  for var i:=2 to n do
    for var j:=0 to i-1 do
      cat[i]+=cat[j]*cat[i-j-1];
  Result:=cat
end;

begin
  var cat:=countPerfect(50);
  ReadlnString.ToIntegers.Select(n->cat[n div 2]).Println;
end.

Пример
1 43 19 42 7
1 24466267020 4862 24466267020 5

Автор ответа: DavidBykov
0
Как умею))
Автор ответа: Аноним
0
ReadAllText('input.txt').ToIntegers.Select(n->cat[n div 2].ToString)
.WriteLines('Output.txt')
Автор ответа: DavidBykov
0
Учту, спасибо)
Автор ответа: Аноним
0
Этот Паскаль - сплав традиционного паскаля, C#, Python и Haskell, посему и работа с файлами в нем иная...
Похожие вопросы
Предмет: Алгебра, автор: Аноним
Предмет: Алгебра, автор: glentglockovich
Предмет: Математика, автор: elizarkulyabin