Задать вопрос
16 мая, 12:23

Программа на с++

Напишите программу, которая вводит натуральные числа а и b и выводит на экран все натуральные числа на отрезке [ a, b ], делящиеся на каждую из своих цифр.

Входные данные

Входная строка содержит два натуральных числа - значения a и b, разделённых пробелами. Гарантируется, что a ≤ b.

Выходные данные

Программа должна вывести в одну строчку все натуральные числа на отрезке [ a, b ], делящиеся на каждую из своих цифр. Числа разделяются пробелами.

+1
Ответы (1)
  1. 16 мая, 13:40
    0
    Можно конечно поизвращаться и придумать интересный алгоритм, но можно просто написать в лоб цикл с проверкой.

    #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 прекращаем.

    Дальше в цикле есть проверка на то, что если хоть раз что-то не поделилось, то переходим к след. числу
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Программа на с++ Напишите программу, которая вводит натуральные числа а и b и выводит на экран все натуральные числа на отрезке [ a, b ], ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Уровень B. Задача M. Две одинаковые цифры рядом Напишите программу, которая определяет, верно ли, что введённое число содержит две одинаковых цифры, стоящие рядом (как, например, 221). Входные данные Входная строка содержит одно натуральное число.
Ответы (1)
Автоморфные числа Натуральное число называется автоморфным, если оно равно последним цифрам своего квадрата. Например 25²=625. Напишите программу, которая находит все автоморфные числа на отрезке [a, b ].
Ответы (1)
Программа в C++ Напишите программу, которая вводит натуральное число N и выводит первые N чётных натуральных чисел. Входные данные Входная строка содержит единственное число - требуемое количество чисел N.
Ответы (1)
Напишите программу в Python 3.3 Напишите программу, которая вводит два целых числа, a и b (a < b), и выводит через пробел 5 случайных целых чисел на отрезке [ a, b ]. Входные данные Входная строка содержит два целых числа a и b, разделённых пробелом.
Ответы (1)
Напишите программу в паскаль! Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в K - ю степень (где K - количество цифр в числе) равна самому числу. Например, 153 = 1 3 + 5 3 + 3 3.
Ответы (1)