Program n1; Uses CRT; Var A,B,C,sum: array[1..100] of Integer; srb: array[1..100] of Real; i,k,n: integer; sr: real; begin ClrScr; randomize; Writeln('Vvedite kol-vo figuristov'); Readln(n); Writeln('Rezultaty'); For i:=1 to n do begin a[i]:=random(10); write(a[i]:4); end; writeln; For i:=1 to n do begin b[i]:=random(10); write(b[i]:4); end; writeln; For i:=1 to n do begin c[i]:=random(10); write(c[i]:4); end; writeln; Writeln('Summa ballov'); For i:=1 to n do begin sum[i]:=a[i]+b[i]+c[i]; write(sum[i]:4); srb[i]:=sum[i]/3; if srb[i]>sr then begin sr:=srb[i]; k:=i; end; end; writeln; Writeln('Srednii rezultat'); For i:=1 to n do write(srb[i]:4:2,' '); writeln; writeln('Pobedil figurist ',k,' s rezultatom ',sr:2:2); readln end.
. То есть, до сих пор не написана программа, которая, работая на самом мощном компьютере, могла бы определить простоту числа N за приемлемое время(не сотни и тысячи ЛЕТ, как сейчас). Конечно, эти N - ОЧЕНЬ большие. Если бы кто нибудь написал такую программу, то рухнула бы вся банковская система, и все отрасли, включая военные, так как везде применяются алгоритмы шифрования данных, основанные на простых числах и подобрать шифр можно было бы за приемлемое время. Вот такая история с этой ОЧЕНЬ СЛОЖНОЙ задачей.
Что касается "детского" варианта, наверное самый простой алгоритм - решето Эратосфена. Да, красивое(но ресурсное) решение может получиться с использованием рекурсии(не знаю, допускает ли рекурсию школьный Паскаль, но поинтересуйтесь, что это такое).
Текст программы приводить не буду, он, вероятно, опубликован в каждом втором букваре по программированию.
Program n1;
Uses CRT;
Var A,B,C,sum: array[1..100] of Integer; srb: array[1..100] of Real;
i,k,n: integer; sr: real;
begin
ClrScr;
randomize;
Writeln('Vvedite kol-vo figuristov');
Readln(n);
Writeln('Rezultaty');
For i:=1 to n do
begin
a[i]:=random(10);
write(a[i]:4);
end;
writeln;
For i:=1 to n do
begin
b[i]:=random(10);
write(b[i]:4);
end;
writeln;
For i:=1 to n do
begin
c[i]:=random(10);
write(c[i]:4);
end;
writeln;
Writeln('Summa ballov');
For i:=1 to n do
begin
sum[i]:=a[i]+b[i]+c[i];
write(sum[i]:4);
srb[i]:=sum[i]/3;
if srb[i]>sr then begin sr:=srb[i]; k:=i; end;
end;
writeln;
Writeln('Srednii rezultat');
For i:=1 to n do
write(srb[i]:4:2,' ');
writeln;
writeln('Pobedil figurist ',k,' s rezultatom ',sr:2:2);
readln
end.
Что касается "детского" варианта, наверное самый простой алгоритм - решето Эратосфена. Да, красивое(но ресурсное) решение может получиться с использованием рекурсии(не знаю, допускает ли рекурсию школьный Паскаль, но поинтересуйтесь, что это такое).
Текст программы приводить не буду, он, вероятно, опубликован в каждом втором букваре по программированию.