Var m,fm:real; mc,fmc,i:integer; val:array[1..n] of real; begin for i:=1 to n do begin readln(val[i]); if val[i]>0 then begin inc(fmc); fm+=val[i]; end else if val[i]<0 then begin inc(mc); m+=abs(val[i]); end else begin writeln('Funny joke!(no)'); exit; end; end; writeln('Male average=',m/mc); writeln('Female average=',fm/fmc); end.
1)Максимальное число в сумме : 18, т.к. 9+9=18 Порядок неубывания т.е. больше либо равно. Проверяем числа: 1915 - не подходит т.к. 19 не может получиться. 10 - не подходит, порядок убывания 110 - можно разделить на 1 и 10 (подходит, исходное число: 1055) либо на 11 0 ( не подходит, порядок убывания) 1516 - подходит, исходное число: 9688 1211 - не подходит (порядок убывания) 316 - походит, 3 16, исходное число: 2188 1519 - не подходит т.к. 19>18 116 - подходит как 1 и 16, исходное: 1088 1515 - подходит, исходное: 5555 ответ: 5
//PascalABC.NET 3.2 сборка 1318
Const
n=10;
Var
m,fm:real;
mc,fmc,i:integer;
val:array[1..n] of real;
begin
for i:=1 to n do
begin
readln(val[i]);
if val[i]>0 then
begin
inc(fmc);
fm+=val[i];
end
else
if val[i]<0 then
begin
inc(mc);
m+=abs(val[i]);
end
else
begin
writeln('Funny joke!(no)');
exit;
end;
end;
writeln('Male average=',m/mc);
writeln('Female average=',fm/fmc);
end.
Порядок неубывания т.е. больше либо равно.
Проверяем числа:
1915 - не подходит т.к. 19 не может получиться.
10 - не подходит, порядок убывания
110 - можно разделить на 1 и 10 (подходит, исходное число: 1055) либо на 11 0 ( не подходит, порядок убывания)
1516 - подходит, исходное число: 9688
1211 - не подходит (порядок убывания)
316 - походит, 3 16, исходное число: 2188
1519 - не подходит т.к. 19>18
116 - подходит как 1 и 16, исходное: 1088
1515 - подходит, исходное: 5555
ответ: 5