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

Обсуждение задачи 1083. Факториалы!!!

Why WA? Help me!!
Послано korol andrey 7 ноя 2002 22:03
There is my program :
{@judge_id:15324hh 1083 pascal}
var ans,l,k,n,i:longint;str:string;
begin
  read(n);readln(str);l:=0;
  for i:=1 to length(str) do
    if str[i]='!' then l:=l+1;
  if l>n
     then writeln(n)
     else
       begin
         ans:=n;
         while (n>0) do
           begin
             n:=n-l;
             if n>1 then ans:=ans*n;
           end;
       end;
  writeln(ans);
end.
Please, help me.
Re: Why WA? Help me!!
Послано ECUST Multistar 8 ноя 2002 04:23
Have you test you program?????

There was a small bug ,but which can be found by simple test.

There was the correct program...

See Line (*******)
It should there hehe
Good luck next time.
Bye..
var ans,l,k,n,i:longint;str:string;
begin
  read(n);readln(str);l:=0;
  for i:=1 to length(str) do
    if str[i]='!' then l:=l+1;
  if l>n
     then writeln(n)
     else
       begin
         ans:=n;
         while (n>0) do
           begin
             n:=n-l;
             if n>1 then ans:=ans*n;
           end;
******  writeln(ans);
       end;

end.