Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
04 Август 2025, 18:23:25
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Страниц  : 2 Далее»  Все   Вниз
  Печать  
Автор Тема: Re: Помогите написать программу на PASCAle PLIZ  (Прочитано 4520 раз)
0 Пользователей и 1 Гость смотрят эту тему.
podonak
Почетный гродненец
*****

Репутация: +88/-2
Offline Offline

Сообщений: 1039


будь проклят день, когда я родился!

Просмотр профиля
« Ответ #0 : 01 Ноябрь 2007, 22:21:24 »

попутно решил себя развлечь и вспомнить паскаль. если где неправильно вспомнил - сорри.
ещё одно решение первоначальной задачи.
не стал упрощать уже приведённые алгоритмы (а они поддаются упрощению), а сделал ещё не приведённый здесь алгоритм (не берусь доказывать его оптимальность ;-))

var
  d: array [1..4] of byte;
  b: boolean;
  i, j, k: byte;
  x: integer;
read x;
if x > 9999
  then writeln('error in data');
  else
    begin
      bool : = false;
      if x >= 111 then
      for i := 0 to 9 do
        for j := 0 to 9 do
          if i <> j then
            for k := 1 to 4 do
              begin
                for l := 1 to 4 do
                  d[l] := i;
                d[k] := j;
                if x = ((d[1] * 10 + d[2]) * 10 + d[3]) * 10 + d[4] then
                  bool := true;
              end
      if bool then writeln('в числе три цифры одинаковы');
    end;
« Последнее редактирование: 01 Ноябрь 2007, 22:22:32 от podonak » Записан
Страниц  : 2 Далее»  Все   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2025, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,115 секунд. Запросов: 20.