Допустим, что первый болельщик был прав в том, что Наташа займет 1 место. Следовательно, она не может занять второе место, из чего в свою очередь следует, что третий болельщик не был прав в том, что Наташа займет второе место, значит, он был прав в том, что Рита займет третье место. Аналогично, Рита не может занять четвертое место, так как предположительно она на третьем, значит второй болельщик был прав в том, что Люда займет второе место. Остается Маша - четвертое место. Все болельщики правы лишь в одном из своих прогнозов, условие выполняется. Следовательно ответ: 1 место - Наташа, 2 место - Люда, 3 место - Рита и 4 место - Маша
var i,j,n:longint; f:boolean; begin writeln('Введите число'); readln(n); if n<2 then writeln('Простых делителей нет') else begin write('Число ',n,' ','= 1'); for i:=2 to n do if n mod i=0 then begin f:=true; j:=2; while f and(j<=round(sqrt(i/2)))do begin if i mod j=0 then f:=false else j:=j+1; end; if f then write('*',i); end; end; end.
var i,j,n:longint;
f:boolean;
begin
writeln('Введите число');
readln(n);
if n<2 then writeln('Простых делителей нет')
else
begin
write('Число ',n,' ','= 1');
for i:=2 to n do
if n mod i=0 then
begin
f:=true;
j:=2;
while f and(j<=round(sqrt(i/2)))do
begin
if i mod j=0 then f:=false
else j:=j+1;
end;
if f then write('*',i);
end;
end;
end.
Тестовое решение:
Введите число
2345
Число 2345 = 1*5*7*35*67