发一个o(1)的做法吧
查看原帖
发一个o(1)的做法吧
765327
sheng888s楼主2024/12/12 05:21

暴力

#include<bits/stdc++.h>
using namespace std;
int a,t;//奇偶数 
int main() {
	cin>>t;
    while(t--){
    	cin>>a;
    	for(int b=1;b*b*b*b<=a;b++){
    		if(b*b*b*b==a){
    			cout<<b<<endl;
    			goto do1;
			}
		}
		cout<<-1<<endl;
		do1:;
	}

	return 0;
}



O(1)

#include<bits/stdc++.h>
using namespace std;
int a,t;
int main() {
	cin>>t;
    while(t--){
    	cin>>a;
    	int test=pow(a,1.0/4);
    	if(test*test*test*test==a){
    	cout<<test<<endl;	
		}else{
			cout<<-1<<endl;	
		}
		
		
	}

	return 0;
}



2024/12/12 05:21
加载中...