{Задачу можно решать несколькими Одним из возможных является перебор всех четырехзначных чисел и проверка для каждого из них выполнения условий. Попробуем сократить перебор, для этого преобразуем второе условие: 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.
{Таким образом, мы решили задачу, значительно сократив перебор.}
Язык Python num = raw_input("Введите число:") # Ввод числа с клавиатуры tmp = list(str(num)) #Превращаем число в строку а строку в список tmp.reverse() # Инвертируем строку rez = [] # список под результат for i in range(len(tmp)): # идем по индексам в tmp if i and not i%3: rez.append('.') #если i делится на 3 и не 0, добавляем в rez . rez.append(tmp[i]) # добавляем в rez элемент tmp rez.reverse() # инвертируем результат rez = "".join(rez) # сшиваем результат обратно в строку print rez # вывод на экран
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.
{Таким образом, мы решили задачу, значительно сократив перебор.}
num = raw_input("Введите число:") # Ввод числа с клавиатуры
tmp = list(str(num)) #Превращаем число в строку а строку в список
tmp.reverse() # Инвертируем строку
rez = [] # список под результат
for i in range(len(tmp)): # идем по индексам в tmp
if i and not i%3: rez.append('.') #если i делится на 3 и не 0, добавляем в rez .
rez.append(tmp[i]) # добавляем в rez элемент tmp
rez.reverse() # инвертируем результат
rez = "".join(rez) # сшиваем результат обратно в строку
print rez # вывод на экран