привет всем!! помогите пожалуйста,времени мало.. дано целое число m>1. получить наибольшее целое k, при котором 4^k(четыре в степени k)<m. пожалуйста с комментариями в паскале,тк надо написать еще математический метод решения в ворде а я не очень в этом))

1

Ответы и объяснения

Лучший Ответ!
  • sfc
  • хорошист
2012-06-06T16:14:04+00:00

4^k < m.

представим m как 4^log(4)m. (Это выражение равно m (по основному логарифмическому тождеству), 4 - основание логарифма).

4^k < 4^log(4)m.

k < log(4)m.

 

Т.е по идее получается, что наибольшее целое k =  log(4)m с отбрасывание дробной части.

 

Сам код:

 

var m:integer; k:real;
begin
write('m = ');
readln(m);
k:=ln(m)/ln(4); {вычисляем логарифм m по основанию 4}
write('k = ',int(k)); {выводим целую часть}
end.