问题标题: 酷町堂:6765判断是否为4的幂

0
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
已采纳
陈正朔
陈正朔
初级光能
初级光能

这个代码没问题,我100

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
我要回答