为什么用for就对
#include<bits/stdc++.h>
using namespace std;
int main(){
long long x,k,a=0;
scanf("%d%d",&x,&k);
for(long long i=1;i>0;i++){
if(x==1||a==k) break;
x++;
a++;
if(x%3==0) x/=3;
}
a=k-a;
if(a==0) {
cout<<x;
return 0;
}
if(a%2==0)cout<<1;
else cout<<2;
}
用while就错呢
#include<bits/stdc++.h>
using namespace std;
int main(){
long long x,k,a=0;
scanf("%d%d",&x,&k);
while(1){
if(x==1||a==k) break;
x++;
a++;
if(x%3==0) x/=3;
}
a=k-a;
if(a==0) {
cout<<x;
return 0;
}
if(a%2==0)cout<<1;
else cout<<2;
}