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

Обсуждение задачи 1059. Выражение

Where is wrong?(the following 3 examples are wrong answers)I don't know
Послано ECUST Multistar 21 фев 2002 19:17
1:
var n,i:integer;
begin
  read(n);
  writeln(0);
  for i:=1 to n do
  begin
    writeln('X');
    writeln('*');
    writeln(i);
    writeln('+');
  end;
end.
2:
Послано ECUST Multistar 21 фев 2002 19:18
2:
var n,i:integer;
begin
  n:=1000;
  writeln(0);
  for i:=1 to n do
  begin
    writeln('X');
    writeln('*');
    if i>=1000 then begin  writeln(i mod 10);writeln(i mod 100 div
10);writeln(i mod 1000 div 100);writeln(i div 1000);end;
    if (i<1000)and(i>=100) then begin writeln(i mod 10);writeln(i mod
100 div 10);writeln(i mod 1000 div 100);end;
    if (i<100)and(i>=10) then begin writeln(i mod 10);writeln(i mod
100 div 10); end;
    if i<10 then writeln(i);
    writeln('+');
  end;
  readln;
end.
2:
Послано ECUST Multistar 21 фев 2002 19:18
2:
var n,i:integer;
begin
  read(n);
  writeln(0);
  for i:=1 to n do
  begin
    writeln('X');
    writeln('*');
    if i>=1000 then begin  writeln(i mod 10);writeln(i mod 100 div
10);writeln(i mod 1000 div 100);writeln(i div 1000);end;
    if (i<1000)and(i>=100) then begin writeln(i mod 10);writeln(i mod
100 div 10);writeln(i mod 1000 div 100);end;
    if (i<100)and(i>=10) then begin writeln(i mod 10);writeln(i mod
100 div 10); end;
    if i<10 then writeln(i);
    writeln('+');
  end;
end.
3:
Послано ECUST Multistar 21 фев 2002 19:21
3:
var n,i:integer;
begin
  read(n);
  writeln(0);
  for i:=1 to n do
  begin
    writeln('X');
    writeln('*');
    if i>=1000 then begin  writeln(i div 1000);writeln(i mod 1000 div
100);writeln(i mod 100 div 10);writeln(i mod 10);end;
    if (i<1000)and(i>=100) then begin writeln(i mod 1000 div
100);writeln(i mod 100 div 10);writeln(i mod 10);end;
    if (i<100)and(i>=10) then begin writeln(i mod 100 div 10);writeln
(i mod 10); end;
    if i<10 then writeln(i);
    writeln('+');
  end;
end.
This 2: is wrong ,the next 2 is right
Послано ECUST Multistar 21 фев 2002 19:22
> 2:
> var n,i:integer;
> begin
>   n:=1000;
>   writeln(0);
>   for i:=1 to n do
>   begin
>     writeln('X');
>     writeln('*');
>     if i>=1000 then begin  writeln(i mod 10);writeln(i mod 100 div
> 10);writeln(i mod 1000 div 100);writeln(i div 1000);end;
>     if (i<1000)and(i>=100) then begin writeln(i mod 10);writeln(i
mod
> 100 div 10);writeln(i mod 1000 div 100);end;
>     if (i<100)and(i>=10) then begin writeln(i mod 10);writeln(i mod
> 100 div 10); end;
>     if i<10 then writeln(i);
>     writeln('+');
>   end;
>   readln;
> end.