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

Обсуждение задачи 1262. Псевдоримское число

very interesting!! there 2 code
Послано Bobur 26 окт 2008 19:04
   var
   s : integer;
   ch : char;

begin
   s := 0;
   while not eof do
     begin
       read(ch);
       case ch of
       '1', '5' : inc(s);
       '2', '4', '6', '9' : inc(s, 2);
       '3', '7' : inc(s, 3);
       '8' : inc(s, 4);
       end;
     end;
   writeLn(s);
end.
this ic gave me AC!!

   var
   s : integer;
   ch : char;
   a : array ['0'..'9'] of byte = (0, 1, 2, 3, 2, 1, 2, 3, 4, 2);

begin
   s := 0;
   while not eof do
     begin
       read(ch);
       s := s + a[ch];
     end;
   writeLn(s);
end.
and this WA#1!!!!
i don't know why, who can explain it to me!!
thanks!!
Re: very interesting!! there 2 code
Послано trc-pskov 8 дек 2008 22:05
i don't know what it mean in pascal, but in C it is "address to non-existent element of memory"

take one correction:

read(ch);
//insert here:
if ((ch<'0') or (ch>'9')) then break;

s := s + a[ch];
.....


and sorry for my bad english


Edited by author 08.12.2008 22:11
Re: very interesting!! there 2 code
Послано Artem Ladik 24 мар 2009 13:59
this is my program:

const a:array['0'..'9'] of longint=(0,1,2,3,2,1,2,3,4,2);

var k:char;
    s:longint;
begin
 s:=0;
 while not EOln do
  begin
   read(k);
   inc(s,a[k]);
  end;
 write(s);
end.

use longint, not byte;)
Re: very interesting!! there 2 code
Послано yangdong 23 окт 2010 19:03
But can you tell me the reason using Longint excepted byte?
thankx