求助
查看原帖
求助
1045760
gz_tjz楼主2023/8/23 09:42

为什么用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;
}
2023/8/23 09:42
加载中...