Mọi người giúp mik với ạ. Mik hứa sẽ vote cho 5 sao và cám ơn nếu đúng
Viết phương trình pascal: Cho số tự nhiên n, kiểm tra số đó có ở dạng 2 mũ k hay không?
Input: số tự nhiên n
Output: Xuất ‘True’ nếu ở dạng 2 mũ k và xuất ‘False’ nếu không phải
VD: 128= 2^7 nên xuất ‘True’
VD2: 1000 không thuộc 2 mũ k nên xuất ‘False’
Gợi ý: Dạng này sử dụng câu lệnh while… do
Mọi người giúp mik với ạ. Mik hứa sẽ vote cho 5 sao và cám ơn nếu đúng Viết phương trình pascal: Cho số tự nhiên n, kiểm tra số đó có ở dạng 2 mũ k ha
By Valerie
program oken;
uses crt;
var n,s: longint;
begin
clrscr;
write(‘Nhap n: ‘); readln(n);
s:=1;
while s<n do
s:=s*2;
if (s=n) then
writeln(‘True’)
else
writeln(‘False’);
readln;
end.
uses crt;
var n,i:longint;
begin
clrscr;
write(‘n=’);readln(n);
i:=1;
while (i<=n)and(i*2<=n) do i:=i*2;
writeln(i=n);
readln
end.
/////////////////////////////
Test: