Сложность в том что это нужно сделать только при помощи циклов, т.е. без строк, массивов и т.д.
У автора задачи определённо есть мазохистские наклонности. Фактически это просто задача на сортировку. Например вот простейшая сортировка "пузырьком":
Code
Read(x); a:=x; i:=0; while a<>0 do begin a:=a div 10; Inc(i); end; for j:=i downto 1 do begin for i:=1 to i-1 do begin a:=x mod p(i) div p(i-1); b:=x mod p(i+1) div p(i); if a>b then x:=x div p(i+1)*p(i+1)+x mod p(i-1)+a*p(i)+b*p(i-1); end; end; Writeln(x:3);
p(x:longint):longint; - это функция, которая возвращает 10^x. Скажем дружно- нафиг нужно!
Сообщение отредактировал Alexander - Суббота, 15.11.2008, 22:49
Только вот в чем проблема...и функции здесь тоже нельзя, а как я понял они здесь используются(
функцию "p" можно выразить стандартными функциями и не вводить свою. Если a^b сначала логарифмировать, а затем экспонировать, то мы получим эквивалентную функцию exp(b*ln(a)). А вообще в задании не сказано, что функции нельзя использовать, тем более, что эта функция только один цикл должна содержать. Скажем дружно- нафиг нужно!