1) Все правильно, это и будет разность между максимумом и минимумом program one; var input,max,min:integer; i:integer; begin readln(input); max:=input; min:=input; for i:=2 to 25 do begin readln(input); if input>max then max:=input; if input<min then min:=input; end; writeln(max-min); end.
2) Гораздо проще не суммировать в цикле степени половины, а воспользоваться тем, что . program two; var res:real; i,n:integer; begin readln(n); res:=0.5; for i:=2 to n do res*=0.5; res:=2-res; writeln(res); end.
3) Здесь существует несколько реализации; в частности, можно было просто считать число как строку и возвратить ее в перевернутом виде (ReverseString(s)), не заботясь о переполнении, однако я решил, что по логике задания нужно делать через числа. Впрочем, для выявления случаев переполнения все равно используется переворот строки program three; var a,b:int64; {можно использовать uint64, если в вашей среде Паскаля этот тип поддерживается, тогда число в строке ниже надо заменить} begin readln(a); if ReverseString(IntToStr(a))>'9223372036854775807' then writeln('Слишком много') else begin while a>0 do begin b:=10*b+a mod 10; a:=a div 10; end; writeln(b); end; end.
2/5/9/11
10/18/27/36/
3/7/20/16
program one;
var input,max,min:integer;
i:integer;
begin
readln(input);
max:=input;
min:=input;
for i:=2 to 25 do begin
readln(input);
if input>max then max:=input;
if input<min then min:=input;
end;
writeln(max-min);
end.
2) Гораздо проще не суммировать в цикле степени половины, а воспользоваться тем, что .
program two;
var res:real;
i,n:integer;
begin
readln(n);
res:=0.5;
for i:=2 to n do res*=0.5;
res:=2-res;
writeln(res);
end.
3) Здесь существует несколько реализации; в частности, можно было просто считать число как строку и возвратить ее в перевернутом виде (ReverseString(s)), не заботясь о переполнении, однако я решил, что по логике задания нужно делать через числа. Впрочем, для выявления случаев переполнения все равно используется переворот строки
program three;
var a,b:int64; {можно использовать uint64, если в вашей среде Паскаля этот тип поддерживается, тогда число в строке ниже надо заменить}
begin
readln(a);
if ReverseString(IntToStr(a))>'9223372036854775807' then writeln('Слишком много') else begin
while a>0 do begin
b:=10*b+a mod 10;
a:=a div 10;
end;
writeln(b);
end;
end.
5/5=80
2х/5=80
х=800
ПУСТЬ х СТР ПЕРВОЙ ГЛАВЫ,
ТОГДА 0,42х - ВТОРАЯ ГЛАВА,
А 0,42Х * 2/3- ТРЕТЬЯ ГЛАВА,вСЕГО:
0,42Х+х+0,42Х 2/3=, А ПО УСЛОВИЮ 340.
пОЛУЧИЛИ УРАВНЕНИЕ:
0,42Х+х+0,42Х *2/3=340.
(1,42+2/3*0,42)X=340
1,70 X=340 *100
170X=34000
X=200(1 ГЛАВА)
0,84*200=168(2 ГЛАВА)
162*2/3=108(3 ГЛАВА)
оТВЕТ:108,168,200.
-
х- число страниц 1 главы
0,42х число страниц второй главы
(2/3)*0,42х=0,28 х - число страниц третьей главы
х+0,42х+0,28х=340
1,7х=340
х=200 стр. 1 глава
200*0,42=84 стр 2 глава
200*0,28=56 стр. 3 глава
* * ⇒ 37 63 37 63
10 27 36 10 27 36 10 27 36
3 7 20 16 3 7 20 16 3 7 20 16