ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1222. Chernobyl’ Eagles

WA!!! Help me! What is WRONG????
Послано Michael Medvedev (KNU training center) 14 ноя 2002 00:06
HELP me - WA!!!
This is my program:


program p1222;
const LEN = 550;
type
  bigint = record
             mas:array[1..LEN] of byte;
             len:integer;
           end;
var
  t,i,n:integer;
  res:bigint;

procedure toone(var a:bigint);
var
  i:integer;
begin
  for i:=1 to LEN do a.mas[i]:=0;
  a.mas[1] := 1;
  a.len := 1;
end;

procedure mult(var res:bigint;i:integer);
var
  t,c,j:integer;
begin
  c := 0;
  for j:=1 to res.len do
  begin
    t := res.mas[j] * i + c;
    res.mas[j] := t mod 10;
    c := t div 10;
  end;
  if (c > 0) then
  begin
    Inc(j);
    res.mas[j] := c;
  end;
  res.len := j
end;

begin
  readln(n);
  if (n <= 4) then
  begin
    write(n);
    Exit;
  end;
  toone(res);
  if (n mod 3 = 1) then
  begin
    mult(res,4); n:= n - 4;
  end else
  if (n mod 3 = 2) then
  begin
    mult(res,2); n:= n - 2;
  end;
  t := n div 3;
  for i:=1 to t do
    mult(res,3);
  t := res.len;
  for i:=1 to t do
    write(res.mas[t-i+1]);
end.
I think there is a bug in tests.
Послано Leo 20 ноя 2002 13:36
It's written, that n is a positive number, but I think, that there is
a test with n = 0 and it has answer 1. I don't know why, but with
"
if n = 0 then
begin
  WriteLn(1);
  exit
end;
"
it will work.(If you have not other bugs)
Re: I think there is a bug in tests.
Послано Saber 14 фев 2003 15:39
There is no bug in tests you only should find the correct algorithm
if you cant find mail me at : ssf_digi@hotmail.com
Re: I think there is a bug in tests.
Послано .Net, Java - any pcode sucks 30 апр 2007 22:24
you are wrong.

if (N < 3) Result = N;

this works successfully