![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Extremist |
|
|||
|
Unregistered |
Извиняюсь за глупый вопрос, но понадобилось мне написать программку, которая из заданного диапазона чисел от 000001 до 999999 выводит все числа содержащие хотябы один "0". Может кто подскажет как организовать проверку этих самых нулей в числе? Заранее благодарен.
|
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
Ну по крайней мере два подхода приходят на ум: самому генерировать все эти числа, фиксируя нули (рекурсия поможет), или же проверять поразрядно остаток от деления на 10. Первое сложнее, но, мне кажется, намного быстрее будет. И универсальнее.
|
|||
|
||||
| Orlan |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 10.6.2004 Где: Киев Репутация: нет Всего: 1 |
А можно преобразовывать в строку и искть 0
--------------------
А вы знали, что терапевт - это 1024 гигапевта или 1048576 мегапевтов |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
дак конечно бустрее всего получиться искать в строке!
Можно еще и делить на 10, 100... как предложил Hroft Это сообщение отредактировал(а) chaos - 16.8.2005, 10:47 |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Можно еще использовать массив из шести элементов(единицы, дестяки, сотни, т.д.)
Ну и соответственно инкрементировать в начале единицы. Если единицы >= 10, то скидывам в ноль(и, значит, выводим на печать) и инкрментируем десятки и т.д. Как только появляется нуль(и он не последняя цифра), то устанавливаем флаг - в таком-то разряде есть ноль. Главное не забыть флаг во время сбросить. Но это фактически то, что предлагал Hroft. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
Про самое простое не подумал
Хотя не факт, что быстрее будет. А мож просто вывести все числа с шагом 10 от 0? Что-нибудь не попадет? По-моему все выведутся. |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Так пропустятся кучу чисел: 401,402,403,404,405,406, etc. Добавлено @ 11:10 Что-то я торможу сегодня. Единицы можно вывести самим. Правда как тогда определить, что 111 не правильное число, а 1011 - правильное? -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
Ну да. Даже если подправить - это плохой вариант.
|
|||
|
||||
| Trotil |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
А порядок важен?
|
|||
|
||||
| Extremist |
|
|||
|
Unregistered |
Да. |
|||
|
||||
| maddoc |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 11.5.2005 Репутация: нет Всего: 1 |
Добавлено @ 16:01 тут кое что лишнее но сам поправиш -------------------- "Безвыходных положений не бывает" (с) Камасутра |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |