История
Версия для печати

Архив форума

Илья Гофман 16.10.2004 21:09
почему получает WA#12 такой код
{$N+}
program Ben_Betsalel;
var N,K:extended;
begin
readln(N);
K:=N*N;
writeln(K:0:0);
writeln(N:0:0);
end.
я уверен, что решение верно для всех 0<=N<10^9. На Турбо Паскале 10^18 легко влезает в extended.

или я туплю, или это косяк FreePascal, который на вроде бы на тимусе
Dmitry Kovalioff 16.10.2004 23:06
Используй Int64 :)
Илья Гофман 16.10.2004 23:13
в паскалевском варианте - Comp? а с чем связан такой совет? там косяки с точностью? а на тимусе ребята пишет, что сдали с extended.
Гость 17.10.2004 13:04
С ним ответ по этому решению не совпадает :(
Dmitry Kovalioff 17.10.2004 19:21
Цитата:
а с чем связан такой совет?
Так сказать, многолетний опыт :) На acm.timus.ru тип comp - это почему-то только 15-16 значащих цифр, про extended не знаю, но он явно 10^18 не потянет. Так что только Int64... Или как вариант для особо крутых - LNA.
Vladimir 17.10.2004 21:55
FreePascal умеет выводить только 15 значащих цифр у таких типов как Comp и Extended. Так что пользуйтесь люди Int64!
Илья Гофман 17.10.2004 23:08
да, мы уже с Деном Расковаловым обсудили все эти косяки. Всем спасибо, с int64 конечно accepted