![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 29.01.2015
Сообщений: 3
|
![]()
Здравствуйте! Написала код программы и в результате она не должна выводить трехзначные числа типа 101 111 232(чтобы первая и последняя не были одинаковыми), но у меня выводит. Подскажите что не правильно или может надо дописать условие?
Код Код:
Последний раз редактировалось Stilet; 05.02.2015 в 08:06. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
А напиши изначальные условия задачи. Непонятно что вычисляют х
для i=101 x1=10 x2=(101-100*10)/10=-89 x3=101 mod 10=10 Что это? |
![]() |
![]() |
![]() |
#3 |
Регистрация: 29.01.2015
Сообщений: 3
|
![]()
алгоритм задачи следующий:
берется число из него вычитается его зеркалка полученное число сравниваем с |9|,если да выводим первоначальное число, если нет идет цикл. А то что вы спросили это этап "переворачивания" числа |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
Ух как понятно "зеркалка", "сравниваем с |9|"
Судя по "Трехзначные числа Каприкара:" можно обратится к Wikipedia. Так там описывается что-то отдалённо похожее на "зеркалка". Уточни исходный текст задания. PS х1...х3 это разряды. Их нужно иначе извлекать Код:
Код:
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,367
|
![]()
1. Следует изменить условие:
Код:
Код:
Код:
Как-то так, ... PS: На реальной программе не проверял ... ![]()
Как-то так, ...
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
ViktorR, мне видется, что ТС невнятно сформулировал постановку задачи. В теле программы присутсвует упоминание константы Капрекара, а по факту вычисляется что-то другое. Отсюда вывод, что ему ни посоветовать - все "мимо кассы".
А "оборот" я бы сделал так Код:
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,367
|
![]()
Можно и так. Не задумывался.
Но тогда уж лучше так: Код:
Код:
Как-то так, ...
Как-то так, ...
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А почему компилятор не пережует
![]()
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,367
|
![]()
Во первых: мне кажется, что не всякий компилятор пережует
![]() Там по тексту кода. a - параметр, который передается по значению. В стеке есть место, которое занимает этот параметр и компилятор мог бы принять выражение, например такого типа Код:
Как-то так, ... PS: У меня FPC. Попробовал, компилируется нормально. ![]()
Как-то так, ...
Последний раз редактировалось ViktorR; 05.02.2015 в 22:14. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 25.01.2015
Сообщений: 474
|
![]()
ViktorR,
a - параметр-значение, внутри процедуры эквивалентен тем локальным переменным, что в блоке var (в своё время для турбопаскаля я много делал процедур на асме и "видел" что там происходило). Такая функция с размерностью n - потому, что для вычисления числа Капрекара удобен именно такой вариант. Я так думал вначале. Число Капрекара получается через несколько итераций следующего вида: 1. Берём трёхзначное число (можно и больше, но у ТС именно трёхзначное). 2. Располагаем цифры в порядке уменьшения (пусть будет переменная A). 3. Располагаем цифры в порядке увеличения (пусть будет переменная В). 4. из А вычитаем В. 5. С полученным новым числом к п.1, только если это число другое. Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти все трехзначные числа, квадраты которых оканчиватюся тремя цифрами, которые и составляют искомые числа (на ABC pascal) | Роял | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 29.01.2015 21:09 |
Помогите найти ошибку в коде! | Igrohim | Общие вопросы Delphi | 10 | 29.12.2014 00:01 |
Пять задач (Найти все трехзначные числа,Массивы и Найти самое длинное симметричное слово)VBA | Nod123 | Помощь студентам | 0 | 24.12.2014 01:30 |
Помогите найти ошибку в коде | vbn1 | Общие вопросы C/C++ | 4 | 12.12.2014 20:50 |
Помогите найти ошибку в коде. | Kapustachkin | Общие вопросы C/C++ | 9 | 05.11.2014 10:38 |