В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
aktan012013
aktan012013
14.04.2022 18:29 •  Информатика

Өзі ашылатын файл SFX архив жасау үшін қандай команданы орындау керек?

Показать ответ
Ответ:
wavesea
wavesea
19.08.2020 11:14
Можно конечно поизвращаться и придумать интересный алгоритм, но можно просто написать в лоб цикл с проверкой.

#include <iostream>
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 прекращаем. 
Дальше в цикле есть проверка на то, что если хоть раз что-то не поделилось, то переходим к след. числу
0,0(0 оценок)
Ответ:
warfacepolina2
warfacepolina2
24.06.2021 09:57
По хорошему, вам достаточно загуглить слова "логика преобразования". 
Как мы знаем, в логических выражениях '+' - это '∨', а '*' - это '∧' (строго говоря это не всегда так, и логика множеств и функций в этом не совпадают, но тут нам это неважно). Я буду писать ∨ и ∧ т.к. тут это правильнее и стоит сразу привыкать к общепринятым обозначениям.
Рассмотрим внимательнее это выражение
(a ∨ (a ∧ b)) ∧ (¬(a ∧ b) ∨ b)
Воспользуемся правилом Де-Моргана, которое гласит:
¬( a ∧ b) = ¬a ∨ ¬b
подставим
(a ∨ (a ∧ b)) ∧ (¬a ∨ ¬b ∨ b)
Дальше отметим, что 
¬b ∨ b = 1
(a ∨ (a ∧ b)) ∧ (¬a ∨ 1)
Так же знаем, что A ∨ 1 = 1, а A ∧ 1 = A, A ∨ A = A
(a ∨ (a ∧ b)) ∧ 1 = (a ∨ (a ∧ b))
Следовательно наше выражение пришло к виду
a ∨ (a ∧ b) , также, используя дистрибутивность можно написать это выражение как 
a ∨ (a ∧ b) = ( a ∨ a) ∧ ( a ∨ b) = a ∧ (a ∨ b)
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота