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

Обсуждение задачи 1104. Не спрашивай даму о возрасте

Problem 1104
Послано Anton 3 сен 2001 22:23
Why I could not get Accepted?


var
  Ok:Boolean;
  C,T,Min,I:LongInt;
  Ch:Char;
begin
  C:=0;
  Ok:=False;
  while not Eof do begin
    Read(Ch);
    if Ch in['A'..'Z']then
      t:=10+Ord(Ch)-Ord('A');
    if Ch in['0'..'9']then
      t:=Ord(Ch)-Ord('0');
    if not(Ch in['0'..'9','A'..'Z'])then
      t:=0;
    if t>Min then
      Min:=t;
    C:=C+t;
  end;
  Inc(Min);
  if C=0 then begin
    Write(2);
    Halt(0);
  end;
  i:=Min;
  while(i<=36)and(not Ok)do begin
    if C mod(i-1)=0 then
      Ok:=True;
    Inc(i);
  end;
  if Ok then
    Write(i-1)
  else
    Write('No solution.');
end.
because yours write out a wrong output !
Послано Dinh Quang Hiep (mg9h@yahoo.com) 3 сен 2001 22:52
> Why I could not get Accepted?
>
>
> var
>   Ok:Boolean;
>   C,T,Min,I:LongInt;
>   Ch:Char;
> begin
>   C:=0;
>   Ok:=False;
>   while not Eof do begin
>     Read(Ch);
>     if Ch in['A'..'Z']then
>       t:=10+Ord(Ch)-Ord('A');
>     if Ch in['0'..'9']then
>       t:=Ord(Ch)-Ord('0');
>     if not(Ch in['0'..'9','A'..'Z'])then
>       t:=0;
>     if t>Min then
>       Min:=t;
>     C:=C+t;
>   end;
>   Inc(Min);
>   if C=0 then begin
>     Write(2);
>     Halt(0);
>   end;
>   i:=Min;
>   while(i<=36)and(not Ok)do begin
>     if C mod(i-1)=0 then
>       Ok:=True;
>     Inc(i);
>   end;
>   if Ok then
>     Write(i-1)
>   else
>     Write('No solution.');
> end.