Форум программистов, компьютерный форум CyberForum.ru

Написать программу вывода трехзначных чисел Цукермана - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.81
dolmatova22
17 / 0 / 1
Регистрация: 13.03.2010
Сообщений: 30
13.03.2010, 17:33     Написать программу вывода трехзначных чисел Цукермана #1
Числа Цукермана — такие натуральные числа, которые делятся на произведение своих цифр.

Например:
число 212 делится нацело на 2*1*2,
числа 1-9 делятся на само себя,
число 24 делится нацело на 2*4.

Написать программу вывода трехзначных чисел Цукермана. Числа выводить столбиками, по 5 в строке.

Помогите пожалуйста..?
Язык Си.

http://ru.wikipedia.org/wiki/Числа_Цукермана
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2010, 17:33     Написать программу вывода трехзначных чисел Цукермана
Посмотрите здесь:

C++ Напишите программу поиска трехзначных чисел, таких, что сумма трех цифр на которые оканчивается квадрат этого числа, равняется этому числу.
Написать программу вывода площадей колец C++
написать программу в Dev-C++ для поиска трехзначных чисел, которые при делении на 47 дают в остатке 43, а при делении на 43 дают в остатке 47 C++
C++ Написать программу ввода и вывода строки на C++
2. Составить программу для определения количества трехзначных чисел, кратных заданному числу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dolmatova22
17 / 0 / 1
Регистрация: 13.03.2010
Сообщений: 30
14.03.2010, 19:20  [ТС]     Написать программу вывода трехзначных чисел Цукермана #21
Спасибо!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
14.03.2010, 19:22     Написать программу вывода трехзначных чисел Цукермана #22
Да без проблем.
Смотри. Для начал посмотри на эту строчку.
Код C++
1
(printf ("%d ", i++, j++)



Она означает, что если i будет найдена и напечатана, то ОДНОВРЕМЕННО С ЭТИМ j увеличится на
единицу.

Теперь перейдем у следующей инструкции. Она отвечает будет лит осуществлён переход на другую
строку или нет.

То есть здесь
C++
1
(!(j%5)&&j)
просто напросто проверяется, равно ли j 5, 10, 15, 20 и так далее. Если о равно одному из этих чисел, значит, выражение (j%5) ранвно нулю (ложно). Соответственно !(j%5) истинно. Это значит, согласно польской записи, что щас выполнится выражение, соедующее сразу после вопросительного знака.
То есть напечатается переход на другую строку.
А теперь начнём с самого начала, с числа 100. Будет ли оно напечатано? Нет! А будет ли осущствлён переход на другую строку? Да? А знаешь, почему? А потому, что в самом начале j==0, а (0%5)==0, следовательно это условие !(j%5) при самом самом первом проходе также будет истиным и напечатается переход на другую строку, хотя ни одного числа найдено не будет. И в дальнейшем такие ситуации будут повторяться, ибо видишь, я после печатания на другую строку приравниваю j к нулю!
C++
1
printf ("\n", j=0)
Вот чтобы таких ситуаций не повторялось я и добавил &&j
То есть переход на другую строку осуществится только если j нацело делится на 5 и не равно 0

...Крайне не советую тебе так кодить.
Исользуй
C++
1
2
if () {
}

В общем, всё делай с чувстом, с толком, с расстановкой, примерно как показали ребята. Когда будешь плавать как рыба в воде, тогда можешь позволить себе так извращаться, как я.
То есть алгритм оставляй мой (никаких на фиг массивов здесь не надо), но оформляй, конечно по-другому.


Откровенно говоря, я прикалывался, пиша этот быдлокод. Хотел вообще в одну строчку уместить, не получилось.


dolmatova22
17 / 0 / 1
Регистрация: 13.03.2010
Сообщений: 30
17.03.2010, 22:47  [ТС]     Написать программу вывода трехзначных чисел Цукермана #23
Хорошо!
А еще -
(1) что здесь означает?
И почему return 0 ?

Добавлено через 19 минут
i%1000/100
То есть - Остаток от деления на 1000 мы делим на 100?
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
17.03.2010, 22:57     Написать программу вывода трехзначных чисел Цукермана #24
да, и получаем количество сотен
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
17.03.2010, 23:33     Написать программу вывода трехзначных чисел Цукермана #25
Цитата Сообщение от dolmatova22 Посмотреть сообщение
Хорошо!
А еще -
(1) что здесь означает?
И почему return 0 ?
Видишь ли, в чём дело, когда ты ознакомишься (а ты ведь ознакомишься!) с польской записью, тебе станет понятно, что означает выражение во вторых скобках. Там стоит выражение, которое должно выполняться, если
(!(j%5)&&j)

Окажется ложным.
Вопрос: что мы должны делать, если
(!(j%5)&&j)

окажется ложным? ОТвет: ничего! Если оно истино, мы пишем знак перевода на ругую строку
А если ложное, то ничё не делаем. Но, согласно синтаксису, что-то в этих скобках должно
стоять. Что-итто такое, что может быть либо ложью, либо нет, то есть быть ноль или нет.
Я выбрал 1. НАпиши туда любую другую цифру- ничего не изменится.

Добавлено через 2 минуты
НУ так это самое... Согласно стандарту, main должна возвращать переменную типа int ВСе всегда пишут return 0 ну я решил не нарушать традиций, хотя мог бы что-нибудь другое возвратить... Ты книги всё-таки почитай.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2010, 18:31     Написать программу вывода трехзначных чисел Цукермана
Еще ссылки по теме:

C++ Написать программу, которая получает два трехзначных числа, меняет у них местами средние цифры и выводит результат в консоль
C++ Напишите программу нахождения всех трехзначных простых чисел
Написать программу для вывода на экран чисел Фибоначчи, меньших заданного числа Q C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
dolmatova22
17 / 0 / 1
Регистрация: 13.03.2010
Сообщений: 30
18.03.2010, 18:31  [ТС]     Написать программу вывода трехзначных чисел Цукермана #26
Благодарна!
Yandex
Объявления
18.03.2010, 18:31     Написать программу вывода трехзначных чисел Цукермана
Ответ Создать тему
Опции темы

Текущее время: 09:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru