Вопрос по информатике:
Программа на с++
Напишите программу, которая вводит натуральные числа а и b и выводит на экран все натуральные числа на отрезке [ a , b ] , делящиеся на каждую из своих цифр.
Входные данные
Входная строка содержит два натуральных числа – значения a и b , разделённых пробелами. Гарантируется, что a ≤ b .
Выходные данные
Программа должна вывести в одну строчку все натуральные числа на отрезке [ a , b ] , делящиеся на каждую из своих цифр. Числа разделяются пробелами.
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок - бесплатно!
- 23.08.2016 20:57
- Информатика
- remove_red_eye 6583
- thumb_up 33
Ответы и объяснения 1
#include
int main(){
int num_1, num_2;
cin >> num_1 >> num_2;
for (int i = num_1 + 1; i != num_2; i++) {
int cur = i, num = i;
int res = 0;
while (cur != 0) {
int mod_n = cur % 10;
if (mod_n == 0) {
break;
}
if (num % mod_n == 0) {
res = 1;
}
else {
res = 0;
break;
}
cur /= 10;
}
if (res) {
cout << i << ' ';
}
}
}
Коротко, в двух словах, о чем тут код.
мы проходим по циклу от A до B, для каждого числа, в цикле проверяем, делится ли оно на цифры из которых состоит. Для этого мы запоминаем в отдельную переменную cur наше число, и проверяем остаток от деления на 10 (т.е. самую левую цифру), после мы в cur записываем тоже число, но без последней цифры.
на примере 124. проверяем на делимость на 4, потом запоминаем 12, проверяем на делимость на 2, потом запоминаем 1, проверяем на делимость на 1, потом записываем 0. Как только видим 0 прекращаем.
Дальше в цикле есть проверка на то, что если хоть раз что-то не поделилось, то переходим к след. числу
- 24.08.2016 07:01
- thumb_up 42
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.