PASCAL问题!(高手进!悬赏50分!)

来源:百度知道 编辑:UC知道 时间:2024/06/06 13:12:39
给出一个数N,知道这个N是2的M次方,怎样求出这个M?
告诉我思路,最好给出程序代码!

既然是2^m,就每次除以2,看出了几次后,n变成1
programe nm;
var
n,m:longint;
begin
readln(n);
m:=0;
repeat
n:=n div 2;
m:=m+1;
until n=1;
writeln(m);
readln;
end.

program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
i,n: integer;
begin
Readln(n);
while n > 2 do
begin
n:= n shr 1;
inc(i)
end;
write(i);
readln
end.

program ff;
var
a,c:longint;
begin
readln(a);c:=0;
repeat
a:=a div 2;
c:=c+1;
until a=0;
writeln(c);
end.