const nn=100; var M,C:array[1..nn] of integer; x,i,n,s,max:integer; m1,r:real; begin Write('x='); Read(x); Write('>'); s:=0; n:=0; for i:=1 to x do begin Read(M[i]); if M[i]>3 then begin s:=s+M[i]; n:=n+1 end end; if n>0 then m1:=s/n else m1:=0; max:=M[x]; for i:=x-1 downto x-9 do if M[i]>max then max:=M[i]; r:=max/m1; n:=0; for i:=1 to x do if M[i]>r then begin n:=n+1; C[n]:=M[i]; Write(C[n],' ') end; end.
2. PascalABC.NET 3.2, сборка 1370 от 24.12.2016 Если программа не работает, обновите версию!
begin var M:=ReadArrInteger('>',ReadInteger('x=')); var r:=(M.TakeLast(10).Max)/(M.Where(b->b>3).Average); var C:=M.Where(b->b>r).ToArray; C.Println end.
Если в компьютере, значит надо перевести в двоичную систему. Для того, чтобы перевести число из 10-ой в 2-ю с. с. , нужно разделить его на 2 и выделить остаток, затем частное снова разделить на 2 и выделить остаток. Процесс деления повторять до тех пор, пока в частном не останется 1. Затем, начиная с последнего частного – 1, переписываем все остатки в обратном порядке. Это и есть искомое число 129/2 (целое 64) (остаток 1) 64/2 (целое 32) (остаток 0) 32/2 (целое 16) (остаток 0) 16/2 (целое 8) (остаток 0) 8/2 (целое 4) (остаток 0) 4/2 (целое 2) (остаток 0) 2/2 (целое 1) (остаток 0) 129 = 10000001
const
nn=100;
var
M,C:array[1..nn] of integer;
x,i,n,s,max:integer;
m1,r:real;
begin
Write('x=');
Read(x);
Write('>');
s:=0;
n:=0;
for i:=1 to x do begin
Read(M[i]);
if M[i]>3 then begin
s:=s+M[i];
n:=n+1
end
end;
if n>0 then m1:=s/n
else m1:=0;
max:=M[x];
for i:=x-1 downto x-9 do
if M[i]>max then max:=M[i];
r:=max/m1;
n:=0;
for i:=1 to x do
if M[i]>r then begin
n:=n+1;
C[n]:=M[i];
Write(C[n],' ')
end;
end.
Пример
x=18
>-15 -19 -32 3 2 35 32 12 -44 39 -36 16 31 5 17 21 -43 -20
3 2 35 32 12 39 16 31 5 17 21
2. PascalABC.NET 3.2, сборка 1370 от 24.12.2016
Если программа не работает, обновите версию!
begin
var M:=ReadArrInteger('>',ReadInteger('x='));
var r:=(M.TakeLast(10).Max)/(M.Where(b->b>3).Average);
var C:=M.Where(b->b>r).ToArray; C.Println
end.
Пример
x= 18
> -15 -19 -32 3 2 35 32 12 -44 39 -36 16 31 5 17 21 -43 -20
3 2 35 32 12 39 16 31 5 17 21
Сравнение явно не в пользу школьного программирования...
Для того, чтобы перевести число из 10-ой в 2-ю с. с. , нужно разделить его на 2 и выделить остаток, затем частное снова разделить на 2 и выделить остаток. Процесс деления повторять до тех пор, пока в частном не останется 1. Затем, начиная с последнего частного – 1, переписываем все остатки в обратном порядке. Это и есть искомое число
129/2 (целое 64) (остаток 1)
64/2 (целое 32) (остаток 0)
32/2 (целое 16) (остаток 0)
16/2 (целое 8) (остаток 0)
8/2 (целое 4) (остаток 0)
4/2 (целое 2) (остаток 0)
2/2 (целое 1) (остаток 0)
129 = 10000001