
Составить программу REBUS, которая определяет все 4-значные числа на интервале [M, N],
удовлетворяющие условиям: a) abcd - 4-цифровое число; b) a, b, c, d - разные цифры; c) ad - cd = a + b + c + d; и подсчитывает общее количество этих чисел.

Ответы на вопрос

На Паскале например такая программа это сделает:
program REBUS;
var
M,N,S,a,b,c,d,i: integer;
begin
Write('M= ');
Read(M);
Write('N= ');
Read(N);
S:=0;
for i:=M to N do
if (i>999) and (i<10000) then
begin
a := i div 1000;
b := (i div 100) mod 10;
c := (i div 10) mod 10;
d := i mod 10;
if (a<>b) and (a<>c) and (a<>d) and (b<>c) and (b<>d) and (c<>d) then
if a*d - c*d = a + b + c + d then
S:=S+1;
end;
Write('S= ',S);
end.
Кстати, во всём диапазоне 4-значных чисел под эти критерии подходят всего 58 штук. И, вот они все:
2103; 2305; 2406; 2507; 2608; 2709; 3014; 3102; 3216; 3418; 3504; 3519; 3705; 3906; 4026; 4127; 4329; 4503; 4716; 4917; 5012; 5038; 5124; 5139; 5302; 5614; 5703; 5928; 6123; 6135; 6402; 6513; 6537; 6725; 6738; 6903; 6914; 7146; 7234; 7502; 7548; 7836; 8157; 8312; 8345; 8523; 8534; 8602; 8913; 8935; 8947; 9168; 9412; 9456; 9702; 9723; 9745; 9834



Программа для решения данной задачи может выглядеть следующим образом:
```python def rebus(m, n): count = 0 for num in range(m, n+1): a = num // 1000 b = (num // 100) % 10 c = (num // 10) % 10 d = num % 10 if a != b and a != c and a != d and b != c and b != d and c != d: if a*d - c*d == a + b + c + d: count += 1 return count ```
В данной программе используется цикл `for`, который проходит по всем числам на интервале `[m, n]`. Для каждого числа происходит разбиение на отдельные цифры (a, b, c, d). Затем проверяется условие, что все цифры разные, и равенство `ad - cd = a + b + c + d`.
Если число удовлетворяет всем условиям, счетчик `count` увеличивается на единицу.
В конце программы возвращается значение счетчика `count`, которое обозначает общее количество чисел, удовлетворяющих условиям.
Пример использования:
```python result = rebus(1000, 9999) print(result) ```
В этом примере функция `rebus` вызывается с интервалом `[1000, 9999]` и возвращает общее количество 4-значных чисел, удовлетворяющих условиям задачи.


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