Дано число n. Найдите такой его делитель d - Pascal ABC

Формулировка задачи:

Скажу честно и прямо, сделайте за меня. Будем говорить, что число a лучше числа b, если сумма цифр a больше суммы цифр числа b, а в случае равенства сумм их цифр, если число a меньше числа b. Например, число 124 лучше числа 123, так как у первого из них сумма цифр равна семи, а у второго — шести. Также, число 3 лучше числа 111, так как у них равны суммы цифр, но первое из них меньше. Дано число n. Найдите такой его делитель d (само число n и единица считаются делителями числа n), что любой другой делитель c числа n лучше, чем d. Входные данные Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 105000). Выходные данные В выходной файл OUTPUT.TXT выведите ответ на задачу. Примеры INPUT.TXT 10 OUTPUT.TXT 10 ----------------------- INPUT.TXT 239 OUTPUT.TXT 1 P.S. знаю подобное есть в инете, но оно не совсем правильно работает

Код к задаче: «Дано число n. Найдите такой его делитель d - Pascal ABC»

textual
var
f:text;
a,d,s,min,i,b,ch:integer;
begin
assign(f,'divisor.in');
reset(f);
readln(f,a);
close(f);
s:=0;
b:=a;
min:=0;
while b>0 do
begin
s:=s+b mod 10;
b:= b div 10;
end;
min:=s;
ch:=a;
s:=0;
for i:=a div 2 downto 1 do
 if a mod i=0 then
 begin
  b:=i;
  while b>0 do
   begin
   s:=s+b mod 10;
   b:= b div 10;
   end;
   if s<min then
   begin
   min:= s;
   ch:=i;
   end;
   s:=0;
  end;
assign(f,'divisor.out');
rewrite(f);
writeln(f,ch);
close(f);
end.

5   голосов, оценка 4.400 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы