Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2016, 19:11   #1
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию Паскаль

Задали на практику написать программу.Имеется трёхзначное число, цифры которого различны. После зачёркивания в нём последней цифры, остаётся двузначное число, являющееся делителем данного.Найти все такие трехзначные цифры.Я написала код,но мне кажется какой-то он слишком легкий,как можно его усложнить?

var
i, j, k : Integer;
begin
for i := 1 to 9 do
for j := 0 to 9 do
for k := 0 to 9 do
if (i * 100 + j * 10 + k) mod (i * 10 + k) = 0 then
Write(i, j, k, '/', i, k, ' ');
Readln;
end.
Екатерина57 вне форума Ответить с цитированием
Старый 27.06.2016, 19:21   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

в данном коде НЕТ проверки на различность цифр
Цитата:
Имеется трёхзначное число, цифры которого различны.
вот вам и нужное "усложнение" кода
if (i<>j) and (i<>k) and (j<>k)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 27.06.2016, 19:22   #3
Екатерина57
Пользователь
 
Регистрация: 11.10.2015
Сообщений: 63
По умолчанию

даже с этой проверкой,что то очень лекго
Екатерина57 вне форума Ответить с цитированием
Старый 27.06.2016, 19:23   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
if (i * 100 + j * 10 + k) mod (i * 10 + j) = 0 then
тут подправил и вроде нормально. И дальше во write последнее k на j заменить. А что, программу на пару листов нужно? Дык ее вообще можно в одну строчку оформить, ну почти в одну
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.06.2016, 11:44   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
даже с этой проверкой,что то очень лекго
тогда "эта же проверка" в оптимизированном варианте.
НЕ выполнять внутрений(-е) цикл(-ы) при нарушении условий различности (при совпадении неких цифр).
Это тоже конечно несложно.

можно еще подумать как таким же образом (не выполнять внутренние циклы) "оптимизировать" и проверку делимости.
Подсказка для этого возможно удобнее будет поменять циклы местами (начинать перебор с младшей или даже с средней цифры).
Получится ли это? не знаю, не думал, просто пришла такая мысль.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 28.06.2016 в 11:48.
evg_m вне форума Ответить с цитированием
Старый 28.06.2016, 12:54   #6
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
А что, программу на пару листов нужно?
Можно тогда китайский код заюзать . Прогнать программу, рассчитать все и одними writeln запулить. Вот заодно от циклов избавитесь и скорость будет наибольшая. Мегаоптимизация в функциональном стиле. Оптимизировать дальше некуда. Ни циклов, ни условий, ни переменных.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль ABC. Программа на языке Паскаль. Helen1 Паскаль, Turbo Pascal, PascalABC.NET 6 13.01.2018 21:46
паскаль abc. Используя графические средства языка Паскаль на одной координатной сетке построить графики функций кириллюк Помощь студентам 5 15.09.2013 12:11
Как можно в Паскаль АВС (Паскаль-Турбо) вставлять в результаты печати программы графики, таблицы, схемы, набранные формулы, выраже IZOPGRAM Паскаль, Turbo Pascal, PascalABC.NET 0 11.06.2012 10:54
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
паскаль и турбо паскаль Евгения Игоревна Помощь студентам 6 05.05.2011 14:31