Предмет: Информатика,
автор: KQTO
Напишите на паскале. Задание: Среди первых N чисел Трибоначчи вывести на экран только кратные 3.
Ответы
Автор ответа:
0
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
var
N: integer;
function tri(n: integer): longint;
begin
case n of
0,1: tri := 0;
2: tri := 1
else
tri := tri(n - 3) + tri(n - 2)+tri(n-1);
end;
end;
var
a: array of integer;
i: longint;
begin
readln(N);
setlength(a, N);
for i := 0 to N-1 do
Write(tri(i) + ' ');
for i := 0 to N-1 do
a[i] := tri(i);
writeln('');
for i := 0 to N-1 do
if a[i] mod 3 = 0 then
write(a[i] + ' ');
end.
var
N: integer;
function tri(n: integer): longint;
begin
case n of
0,1: tri := 0;
2: tri := 1
else
tri := tri(n - 3) + tri(n - 2)+tri(n-1);
end;
end;
var
a: array of integer;
i: longint;
begin
readln(N);
setlength(a, N);
for i := 0 to N-1 do
Write(tri(i) + ' ');
for i := 0 to N-1 do
a[i] := tri(i);
writeln('');
for i := 0 to N-1 do
if a[i] mod 3 = 0 then
write(a[i] + ' ');
end.
Автор ответа:
0
Нет, далеко не все так просто. Там проблема выравнивания мантисс серьезная весьма.
Автор ответа:
0
Чтобы всего лишь сложить 2е20 и 3е-30, нужно 50-значное целое
Автор ответа:
0
И не забываем, что надо еще все операции перегрузить. Для const+T, T+T, T+const, real+T, T+real, integer+T, T+integer и т.д. И это было только для сложения. А еще ведь функции, кроме других операций
Автор ответа:
0
С дробями у меня же var a,b:Frac; var c:=a+b+a/b;
Автор ответа:
0
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!
function Tribonacci(n:integer):integer;
begin
case n of
0,1:Result:=0;
2:Result:=1;
else Result:=Tribonacci(n-3)+Tribonacci(n-2)+Tribonacci(n-1)
end
end;
begin
SeqGen(ReadInteger('n='),i->Tribonacci(i)).Where(k->k mod 3=0).Println
end.
Пример
n= 20
0 0 24 81 504 927
// Внимание! Если программа не работает, обновите версию!
function Tribonacci(n:integer):integer;
begin
case n of
0,1:Result:=0;
2:Result:=1;
else Result:=Tribonacci(n-3)+Tribonacci(n-2)+Tribonacci(n-1)
end
end;
begin
SeqGen(ReadInteger('n='),i->Tribonacci(i)).Where(k->k mod 3=0).Println
end.
Пример
n= 20
0 0 24 81 504 927
Похожие вопросы
Предмет: Литература,
автор: goyanusia
Предмет: Қазақ тiлi,
автор: serikbajsezim539
Предмет: География,
автор: catanastasia88
Предмет: Геометрия,
автор: необычныйцех
Предмет: Музыка,
автор: АляS