Заменяем две последние цифры числа N нулями, для чего делим его на 100 нацело, а затем результат деления умножаем на 100. Принимаем полученное число за N. Делим это новое значение N нацело на k, затем частное увеличиваем на 1 и умножаем эту сумму на k, получая ответ.
Пример.
N = 3571483, k = 97
N / 100 = 35714: 35714 × 100 = 3571400 - это новое значение N
N / k = 3571400 / 97 ≈ 36818 (остаток ненулевой); 36818 + 1 = 36819;
В алгебре логики различают три вида логических операций:
Конъюкция - это логическое умножение, обозначается &, ^, И
Дизъюнкция - это логическое сложение, обозначается ∨, I, ИЛИ, +
Инверсия - это логическое отрицание(т.е., если у нас 0, то с инверсии у нас получится 1), обозначаем ее как HE, ¬, -
Логические операции имеют свой порядок: сначала инверсия, потом конъюкция, потом дизъюнкция.
Давай подсчитаем количество переменных в логическом выражении: это A, B, C, т.е., 3 переменные. Подсчитаем количество действий в этом выражении: 5 действий.
Сложим кол-во действий и кол-во переменных и получим количество столбцов в таблице.
3 + 5 = 8 столбцов.
Теперь определим количество строк в таблице. Для этого воспользуемся формулой m = 2^n.
m = 2^3 = 8 строк в таблице, не считая шапки таблицы.
Чертим таблицу:
A B C A ^ B B ^ C A ^ C A^B∨B B^C∨A
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 1 0 0 0 0 1 0
1 0 0 0 0 0 0 1
1 1 0 1 0 0 1 1
1 0 1 0 0 1 0 1
0 1 1 0 1 0 1 1
1 1 1 1 1 1 1 1
Расставим порядок действий: первым действием у нас будет A ^ B, так как конъюкция первее дизъюнкции.
Вторым действием будет B ^ C по выше сказанной причине.
Третьим действием будет A ^ C
Четвертым действием A ^ B ∨ B
Пятым действием будет B ^ C ∨ A
В таблице будет только две цифры - 0 и 1. В первых трех действиях конъюкция(лог.умножение), т.е. мы будем умножать 0 и 1. В последних двух действиях - конъюкция с дизъюнкцией, т.е. сначала будем умножать B на C и прибавлять к A. (Если алгебру знаешь - справишься).
Задача решена.
P.S Если у всех троих переменных 0 - то во всех логических действиях у них будет результат, равный нулю. Тоже самое и с ситуацией, когда все три переменные равны 1.
PascalABC.NET
begin
var (N, k) := ReadInteger2;
N := N div 100 * 100;
if N mod k <> 0 then
N := (N div k + 1) * k;
Write(N)
end.
Объяснение:
Заменяем две последние цифры числа N нулями, для чего делим его на 100 нацело, а затем результат деления умножаем на 100. Принимаем полученное число за N. Делим это новое значение N нацело на k, затем частное увеличиваем на 1 и умножаем эту сумму на k, получая ответ.
Пример.
N = 3571483, k = 97
N / 100 = 35714: 35714 × 100 = 3571400 - это новое значение N
N / k = 3571400 / 97 ≈ 36818 (остаток ненулевой); 36818 + 1 = 36819;
36819 × 97 = 3574143
Объяснение:
A ^ B ∨ B ^ C ∨ A ^ C
В алгебре логики различают три вида логических операций:
Конъюкция - это логическое умножение, обозначается &, ^, И
Дизъюнкция - это логическое сложение, обозначается ∨, I, ИЛИ, +
Инверсия - это логическое отрицание(т.е., если у нас 0, то с инверсии у нас получится 1), обозначаем ее как HE, ¬, -
Логические операции имеют свой порядок: сначала инверсия, потом конъюкция, потом дизъюнкция.
Давай подсчитаем количество переменных в логическом выражении: это A, B, C, т.е., 3 переменные. Подсчитаем количество действий в этом выражении: 5 действий.
Сложим кол-во действий и кол-во переменных и получим количество столбцов в таблице.
3 + 5 = 8 столбцов.
Теперь определим количество строк в таблице. Для этого воспользуемся формулой m = 2^n.
m = 2^3 = 8 строк в таблице, не считая шапки таблицы.
Чертим таблицу:
A B C A ^ B B ^ C A ^ C A^B∨B B^C∨A
0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 1 0 0 0 0 1 0
1 0 0 0 0 0 0 1
1 1 0 1 0 0 1 1
1 0 1 0 0 1 0 1
0 1 1 0 1 0 1 1
1 1 1 1 1 1 1 1
Расставим порядок действий: первым действием у нас будет A ^ B, так как конъюкция первее дизъюнкции.
Вторым действием будет B ^ C по выше сказанной причине.
Третьим действием будет A ^ C
Четвертым действием A ^ B ∨ B
Пятым действием будет B ^ C ∨ A
В таблице будет только две цифры - 0 и 1. В первых трех действиях конъюкция(лог.умножение), т.е. мы будем умножать 0 и 1. В последних двух действиях - конъюкция с дизъюнкцией, т.е. сначала будем умножать B на C и прибавлять к A. (Если алгебру знаешь - справишься).
Задача решена.
P.S Если у всех троих переменных 0 - то во всех логических действиях у них будет результат, равный нулю. Тоже самое и с ситуацией, когда все три переменные равны 1.