Цитата:
Сообщение от Vkusnjashka
Помогите пожалуйста, очень надо, уже три дня сижу ничего не получается.
Написать программу которая будет находить для введённого числа N ближайшую степень двойки X, которая меньше N. Если 2^X=N вывести соответствующее сообщение.
|
Код:
VAR
N,x:LongInt;
y:REAL;
BEGIN
Write('N= ');
ReadLn(N);
y:=Ln(1.0*N)/Ln(2.0);
x:=TRUNC(y);
WriteLn('The nearest x is ',x);
IF ROUND(Exp(x*Ln(2.0)))=N then
Write('2^',x,'=',N,' precisely');
ReadLn;
END.
Устроит? Или надо обязательно через цикл?