19
--------------------
//Pascal
function easy(a:longint):boolean;
var
i:integer;
begin
easy:=true;
if a<2 then
easy:=false else
for i:=1 to a div 2 do
if ((a mod i)=0) and (i<>1) then
easy:=false;
end;
var
i, k: integer;
num: array [0..100] of integer;
begin
for i:=0 to 99 do
num[i+1] := i+1;
k:=0;
i:=1;
while k<7 do
begin
if easy(num[i])=true then
k:=k+1;
i:=i+2;
end;
write(num[i-2]);
end.
1. Наливаем 3 литра - переливаем в 8 л. кувшин.
<span>2. Снова набираем и переливаем в 8 л кувшин. </span>
<span>3. Наливаем снова и переливаем в 8 литровый кувшин 2 литра, а в 3-х литровом остался 1 л. </span>
<span>4. Из 8 л все выливаем, а туда переливаем 1 л. </span>
<span>5. А теперь два раза наполняем 3- х л. кувшин и доливаем по 3 литра в 8 л. Будет 7 литров</span>
Const n=25;
var a,b:array[1..n] of integer;
i,j,t:integer;
begin
Randomize;
writeln('Результаты:');
for i:=1 to n do
begin
a[i]:=random(31)+10;
write(a[i]:3);
end;
writeln;
for i:=1 to n do b[i]:=i;
for i:=1 to n-1 do
for j:=1 to n-i do
if a[b[j]]>a[b[j+1]] then
begin
t:=b[j]; b[j]:=b[j+1]; b[j+1]:=t;
end;
writeln('Победитель:');
writeln('min = ',a[b[1]],' его номер = ',b[1]);
j:=1;
while b[j]<>4 do j:=j+1;
writeln('Результат российского лыжника: ', j,' место');
end.
Пример:
Результаты:
38 19 22 11 16 40 22 18 21 16 15 33 38 34 39 21 19 10 25 15 40 13 34 27 37
Победитель:
min = 10 его номер = 18
Результат российского лыжника: 2 место
PS. Места, которые заняли спортсмены с одинаковыми результатами, в программе будут различны.
{ 1 – дециметр, 2 – километр, 3 – метр, 4 – миллиметр, 5 – сантиметр.}
var
units: integer;
value, factor: real;
begin
write('Введите значение - '); readln(value);
write('Введите единицу измерения - '); readln(units);
case units of
1: factor := 0.1;
2: factor := 1000;
3: factor := 1;
4: factor := 0.001;
5: factor := 0.01;
else
factor := 1;
end;
writeln(value * factor, ' м');
end.