Задачу можно решать несколькими способами. Одним из возможных способов является перебор всех четырехзначных чисел и проверка для каждого из них выполнения условий. Попробуем сократить перебор, для этого преобразуем второе условие:
10а+b-(10c+d)=a+b+c+d;
9(a-c)=2(c+d);
(a-c)/(c+d)=2/9
Проанализировав первое условие, получаем, что а=с+2, d=9-c, следовательно 0<=c<=7.
program prim4;
uses crt;
var a,b,c,d: integer;
begin
clrscr;
for c:=0 to 7 do
begin
a:=c+2; d;=9-c;
for b:=0 to 9 do
begin
if (b<>c)and(b<>a)and(b<>d)
then
write(a,b,c,d);
writeln
end;
end;
readln;
end.
Таким образом, мы решили задачу, значительно сократив перебор.
Похожие записи/страницы:
- Написать программу, которая находит и выводит на печать все четырехзначные числа вида abcd , для которых…
- Старинная задача. Сколько можно купить быков, коров и телят, если плата за быка 10 рублей, за корову - 5 рублей,…
- Написать программу, которая находит среди всех натуральных четырехзначных чисел те, цифры в которых образуют…
- Написать программу, которая находит из всех четырехзначных чисел, такие числа, в записи которых все цифры…
- Написать программу, которая находит из всех четырехзначных чисел, такие числа, разность произведения первых двух…
- Проверка строгого чередования в массиве - Pascal (Паскаль)
- Написать программу, которая печатает True или False в зависимости от того выполняется ли условие: квадрат…
- Доказать (путем перебора возможных значений), что для любых величин A, B, C типа Boolean следующие пары…