|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
||||||||||||||||
Выставить цифры в числе 1234567890 таким образом, чтобы новое число делилось без остатка на все числа от 2 до 18 включительно.14.11.2012, 21:10. Показов 7620. Ответов 41
Метки нет (Все метки)
Дана задача.
Выставить цифры в числе 1234567890 таким образом, чтобы новое число делилось без остатка на все числа от 2 до 18 включительно. Я написал нижеследующее, но программа выводит почему то такие числа как 12252240, 24504480 и т.д. Что я тут неправильно написал? /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
неужели никто не знает? Кто-нибудь поможет сегодня? Добавлено через 24 минуты Попробовал изменить таким образом, но всё равно не работает //////////////////////////////////////////////
Я подумал, что в самом низу где я вывожу i, i уже потерял своё значение, поэтому добавил дополнительную переменную m и присвоил ему значение i. Но программа всё равно не работает.
Обалдеть. Неужели никто не знает?
0
|
||||||||||||||||
| 14.11.2012, 21:10 | |
|
Ответы с готовыми решениями:
41
В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число
|
|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
|
| 15.11.2012, 18:37 [ТС] | |
|
0
|
|
|
|
|
| 15.11.2012, 18:40 | |
|
Вообще, скажите, есть тема, где разбирается подобная проблема? Или никто не сталкивался?
0
|
|
|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
|
| 15.11.2012, 19:00 [ТС] | |
|
0
|
|
|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
||||||
| 18.11.2012, 18:36 [ТС] | ||||||
|
Один из форумчанов сказал мне что мне нужно прокоментировать каждую строку, если хочу чтобы мне помогли.
Вот выкладываю свой код с комментариями. Помогите пожалуйста почему он не работает. Задание напомню- Выставить цифры в числе 1234567890 таким образом чтобы новое число делилось без остатка на все числа от 2 до 18.
0
|
||||||
|
|
|
| 18.11.2012, 20:01 | |
|
да хватит уже с этим кодом возиться
ошибка в 23й строчке. r изменяется от 0 до 403 подумай почему. Но даже когда ты исправишь ошибку, подумай над своим подходом. Ты 1) перебираешь ~9 миллиардов чисел, хотя народ решил тебе перебрав лишь порядка 3,5 миллионов перестановок. 2) проверяешь в цикле деление на каждый из 17ти делителей, хотя проверять надо лишь один раз деление на их НОК короче, тебе предложили более оптимальное решение, чем в лоб.
0
|
|
|
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|
| 18.11.2012, 20:35 | |
|
Parilo, а где переменной flag возвращается начальное значение?
0
|
|
|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
|||
| 19.11.2012, 19:34 [ТС] | |||
|
Я только только учусь и только понимая свои ошибки смогу чему то научиться. Объясните пожалуйста если можете. Спасибо заранее Добавлено через 4 минуты Заранее благодарю.
0
|
|||
|
|
||
| 20.11.2012, 13:32 | ||
|
Добавлено через 23 минуты а то сейчас заполняются элементы массива a[0]...a[9] только в первой итерации цикла по i во второй программа пытается уже заполнить значениями a[10]...a[19], которых не существует Добавлено через 53 секунды но сам принцип поиска чисел с неповторяющимися цифрами просто ОООЧЕНЬ нерационален
0
|
||
|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
||
| 20.11.2012, 18:21 [ТС] | ||
|
Больше нигде ошибок нет? Если нет ошибок то программа должна работать, но она не работает. Никак не пойму. Где ещё может быть ошибка?
0
|
||
|
|
|
| 20.11.2012, 19:21 | |
|
в чём выражается "не работает"? Или выводит неправильно? Или не компилируется из-за ошибок?Вылетает с похожим на предыдущее окошком? Или просто моргает курсором в консоли и ничего не выводит?
Если последнее, то скорее всего просто ооочень долго считает из-за (как я уже сказал) нерационального алгоритма.
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|||||||
| 20.11.2012, 19:52 | |||||||
|
Первая попавшая в голову реализация:
0
|
|||||||
|
|
||
| 20.11.2012, 23:20 | ||
|
0
|
||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|||||||
| 21.11.2012, 06:13 | |||||||
|
Kuzia domovenok, Вы о чем вообще? Что MSVS, что DevCPP - IDE. Они не компилируют файлы. В поставке с DevCPP идет GCC, в MSVS - microsoft compiler. А IDE всего лишь позволяет удобно редактировать текст исходных файлов. С DevCPP, скорей всего, идет старая версия GCC. Но, похоже, у Вас одного "две переменные расположены по одному адресу".
0
|
|||||||
|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
||
| 21.11.2012, 06:36 [ТС] | ||
|
0
|
||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 21.11.2012, 07:04 | |
|
Kuzia domovenok, вдруг если сами не поймете - выражение mask[argc]=argc в этом цикле вычисляется после выполнения тела цикла. Поэтому, когда argc становится 10, сначала вычисляется выражение mask[argc]=argc, а потом уже идет проверка условия продолжения цикла. Вообще изменения счетчиков в теле цикла - не очень хорошая идея.
Parilo, У Вас ошибка в том, что вы используете тип unsigned long, в который числа больше 4 млрд. на помещаются. Используйте unsigned long long. И к большим константам, вроде 9876543210 приписывайте в конце суффикс ull, так как по умолчанию, все целочисленные константы имеют тип int.
1
|
|
|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
||
| 21.11.2012, 09:46 [ТС] | ||
|
Можно показать как он приписывается в моём коде если можно? Спасибо.
0
|
||
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|||
| 21.11.2012, 09:52 | |||
|
PS: я просмотрел полностью Ваш код. В нем очень много ошибок, все их перечислять не буду, вот некоторые: Не сбрасываете значение flag при проверке нового числа. Не обнуляете r при проверке нового числа, из-за чего выходите за пределы массива уже на втором числе. Оператор break относится только к ближайшему циклу или оператору switch. Поэтому будет прерван только цикл for (int y=x+1; y<10; y++) Оператор continue в конце ни к чему. И так можно долго.
0
|
|||
|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
||
| 24.11.2012, 14:38 [ТС] | ||
|
Ладно, спасибо большое в любом случае. Подскажите пожалуйста какой компилятор лучше всего использовать для таких программ? Спасибо.
0
|
||
|
|
|
| 24.11.2012, 14:45 | |
|
скачай msvs и не думай о компиляторах
1
|
|
|
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90
|
|||||||
| 26.11.2012, 19:46 [ТС] | |||||||
|
Я скачал с сайта Майкрософт Microsoft Visual C++ 2010 Express Edition. И также программа не работает, просто мигает курсором. Код финальный после всех исправлений. Блин запарился с этим кодом. Что делать чтобы работал и ull Добавил и long long поставил. Что тут не так?
0
|
|||||||
| 26.11.2012, 19:46 | |
|
Переставить цифры числа таким образом, чтобы получилось минимальное возможное число без ведущих нулей В данном натуральном числе переставить цифры таким образом, чтобы получилось наименьшее число записанное этими же цифрами В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное этими цифрами
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс
Ссылка на сгенерированную музыкальную композицию:
https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013
Я говорю, что Время- как вода
течет. . .
|