本题第一条题解来啦~
2026-04-22 19:36:08
发布于:江苏
28阅读
0回复
0点赞
这道题不算太难,不需要用数组,就按照题目本意做就行。
代码实现分步骤:
1.定义,输入:
int t,a;
bool q=0;
cin>>t;
for(int i=0;i<t;i++){
cin>>a;
}
2.判断a=b⁴(在循环输入内部,外面还要加一层循环):
if(j*j*j*j==a){
cout<<j<<endl;//注意加换行符
q=1;
break;//节省运行时间
}
3.输出-1:
if(q==0){
cout<<-1<<endl;
}
q=0;
4.完整正解:
#include<bits/stdc++.h>
using namespace std;
int main(){
int t,a;
bool q=0;
cin>>t;
for(int i=0;i<t;i++){
cin>>a;
for(int j=0;j<=a;j++){
if(j*j*j*j==a){
cout<<j<<endl;
q=1;
break;
}
}
if(q==0){
cout<<-1<<endl;
}
q=0;
}
return 0;
}
制作不易,求赞!


全部评论 2
你赞有了
1周前 来自 辽宁
0用布尔也行
#include <bits/stdc++.h> using namespace std; int a[100000]; int main() { int t; cin>>t; for(int i=1;i<=t;i++) { cin>>a[i]; bool f=false; for(int b=1;b<=a[i];b++) { if(b*b*b*b==a[i]) { cout<<b<<endl; f=true; } } if(f==false)cout<<"-1"<<endl; } return 0; }但你的方法似乎更好点
1周前 来自 辽宁
0










有帮助,赞一个