Записать число в десятичной системе счисления по его внутреннему представлению в эвм (в формате действительного числа с плавающей запятой одинарной точности 32 бита): 01000010011111111000000000000000
Под локальным максимумом, скорее всего, имеется в виду число, большее чем оба его соседа, за исключением случая, когда соседом справа является 0. В таком случае достаточно однократно пройтись по всем числам, запоминая минимальное из расстояний между новым и предыдущим обнаруженными максимумами. Программа (язык Pascal ABC.Net) var i1,i2,i3:integer; i:integer; curr,minr,lastmax:integer; begin readln(i1,i2); i:=2; minr:=1000000; repeat readln(i3); if (i2>i1) and (i2>i3) and (i3<>0) then begin curr:=i-lastmax; if curr<minr then minr:=curr; lastmax:=i; end;
i1:=i2; i2:=i3; i+=1; until i2=0; if minr=1000000 then writeln(0) else writeln(minr); {стоило бы добавить булевую переменную в качестве флага - был ли хоть один max, но вряд ли расстояние между ними превысит миллион :-} end.
О типах x и n неизвестно ничего, но по сложившейся традиции резонно предположить, что n - целое, x - вещественное. Представленная программа написана именно в таком понимании типов переменных.
var i,n:integer; x,p:double; begin Write('Введите основание (x) и показатель степени (n): '); Read(x,n); if x=0 then p:=0 else begin p:=1; for i:=1 to Abs(n) do p:=p*x; if n<0 then p:=1/p end; Writeln(x,'^',n,'=',p) end.
Тестовые решения:
Введите основание (x) и показатель степени (n): 2 30 2^30=1073741824
Введите основание (x) и показатель степени (n): -3.35 9 -3.35^9=-53137.7624927636
Введите основание (x) и показатель степени (n): 18.3 -4 18.3^-4=8.9165251950717E-06