|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.10.2016, 20:53 | #1 |
Новичок
Джуниор
Регистрация: 05.10.2016
Сообщений: 1
|
Помогите исправить ошибку: вывести все "недопалиндромы" из указанного диапазона (от a до b). "недопалиндром" - число которое само не является палиндромов,но сумма его цифр является
Задача такая - вывести все "недопалиндромы" из указанного диапазона (от a до b). "недопалиндром" - число которое само не является палиндромов, но сумма его цифр является им. Например, при диапазоне [820;840] "недопалиндромами" являются числа 821 и 830. (Небольшая справка: цифры не являются "недопалиндромами", т.к. в длину 1 символ, поэтому читаются справа на лева и наоборот как бы одинаково).
(об ошибке после кода) Код:
Помогите разобраться, что не так. Будет хорошо, если вы еще и укажите что именно переделать. Последний раз редактировалось Аватар; 05.10.2016 в 21:26. |
06.10.2016, 09:06 | #2 |
Пользователь
Регистрация: 24.02.2016
Сообщений: 38
|
|
06.10.2016, 09:13 | #3 | |||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
потому что, если их будет меньше, то s[5] НЕ существует, и вы получаете то, что вы и получили Цитата:
Цитата:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 06.10.2016 в 09:19. |
|||
06.10.2016, 09:27 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
06.10.2016, 09:50 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Аватар, отлично!
есть пара замечаний. первое. нет проверки на то, что число i не является палиндромом (очевидно, что if (s>9) эту задачу не решает и вообще не нужно ). второе. если это олимпиадная задача, то нужно посмотреть на возможные диапазоны входных значений, есть подозрение, что могли подбросить "подлянку" в в виде отрицательных значений. p.s. исходный вариант - это, конечно, "жесть"! |
06.10.2016, 10:20 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А зачем i проверять на палиндромность? Это не важно. А вот и примерчик - 11111111111 одновременно и палиндром и недопалиндром. Для другого диапазона конечно, чем у ТС. А s>9 исключает те, сумма цифр которых однозначное число. Иначе 23 тоже недопалиндром, поскольку 5 туда и сюда одинаково читается. Оптимальней конечно проверку перед вторым вложенным циклом поставить
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 06.10.2016 в 10:24. |
06.10.2016, 10:26 | #7 | |||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Цитата:
Цитата:
|
|||
06.10.2016, 10:29 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Да, условие не доглядел. Ну и фиг с ним, пусть ТС делает предварительную проверку
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
06.10.2016, 10:57 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
простой, понятный и рабочий код Вы ему дали. Этого вполне достаточно, чтобы разобрать решение и дописать проверку на то, что i не является палиндромом (кстати, это удобно делать прямо в том же цикле, где идёт подсчёт суммы цифр исходного числа). |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Арифметическая задача(Delphi(в форме)).Найти все трехзначные числа,сумма цифр которых равна А,а само А делится на В.А и В вводятся | NIR957 | Помощь студентам | 1 | 16.10.2013 23:02 |
Определить, сумма цифр является четным или нечетным числом. | harvey | Помощь студентам | 1 | 10.10.2012 21:38 |
Как из диапазона вывести число, которое первое удовлетворит одному из условий | fury1986 | Microsoft Office Excel | 1 | 12.08.2012 10:11 |
Натуральное число, в записи которого п цифр, называется числом Армстронга, если сумма его цифр, возведенн | OTLi4HO | Общие вопросы C/C++ | 6 | 14.01.2009 19:48 |