0
已解决
汪恺恒
中级启示者
中级启示者
题目描述 Description
输入一个整数n,请你编程来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4^x
输入描述 Input Description
输入一行:一个整数n
输出描述 Output Description
输出一行:如果n是4的幂就输出true,否则输出false
爆WA80
#include<iostream>
#define inf (1<<30)
#define reg register
using namespace std;
long long n,flag;
int main(){
cin>>n;
n=abs(n);
for(int i=0;i<=50;i++){
long long x=(1<<i);
if(x*x>=n){
if(x*x==n) flag=1;
break;
}
}
if(flag) cout<<"true";
else cout<<"false";
return 0;
}
0
0
汪宇航
新手启示者
新手启示者
核心:
思路:
1、输入
2、while循环,如果s==n:输出true;
3、s*4,i++
汪宇航在2021-05-24 18:08:38追加了内容
终于100了
0
0
0
胡靖坤
中级守护
中级守护
输入n
while(i<=100)
{
if(s==n)
{
cout<<"true";
return 0;
}
s=s*4;
i++;
}
cout<<"false";
0