自己被自己写的代码绕晕了
2025-06-07 13:38:14
发布于:浙江
闲的没事写了一个代码,结果不是超时就是输出2!!!
#include<bits/stdc++.h>
using namespace std;
int main(){
long long a,b,c;
cin>>a>>b>>c;
long long sum=a*a*a+b*b*b+c*c*c;
while(a>=0||b>=0||c>=0){
if(sum%2==0){
a--;
sum=sum/2+1;
}
else{
b--;
sum=(sum+1)/2;
}
c--;
}
cout<<sum;
return 0;
}
有人能帮我找出一组输出不为2的输入吗?
全部评论 5
谢谢各位大佬(下次再也不敢乱写代码了)
1周前 来自 浙江
00 0 0
1周前 来自 浙江
0当sum=2时,sum/2+1=2,于是sum一直会被2整除,不执行else语句,a与c会一直减去1
b一直等于0
死循环开始1周前 来自 上海
0然而你输入其他数字时,sum一直执行/2+1,最终一定会=2
1周前 来自 上海
0
显然当输入合法时,一定输出 。
1周前 来自 广东
0-1 -1 -1
1周前 来自 浙江
0
有帮助,赞一个