4的幂
题目描述:
给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。
要判断一个数是不是4的幂次方,需要判断它能否一直被4整除,在判断它可以被4整除之后,再将它除以4,若最终结果等于1,则它是4的n次幂,否则不是。
例如:
1)16%4=0,16/4=4,4%4=0,4/4=1,所以16是4的幂
2)8%4=0,8/4=2,2%4!=0,所以8不是4的幂
#include<bits/stdc++.h>
main() {
int n;
scanf("%d", &n);
if (n > 1) {
while (n % 4 == 0) {
n = n / 4;
}
}
if (n == 1) printf("yes");
else printf("no");
}