#include<bits/stdc++.h>
using namespace std;
long long x0,a;
int main(){
int t;
cin>>t;
while(t--){
cin>>x0>>a;
int syc=0;
while(x0!=syc){//模拟迭代过程
cout<<x0<<' ';//先输出 不然第一个会被忽略
syc=x0;//刚刚输出的是上一个 要更新
x0=(x0+a)/a;//再计算
if(x0==syc){//迭代结束
break;
}
}
cout<<"\n";
}
return 0;
}
这样是对的
#include<bits/stdc++.h>
using namespace std;
long long x0,a;
int main(){
int t;
cin>>t;
while(t--){
cin>>x0>>a;
int syc=0;
cout<<x0<<' ';
syc=x0;
while(x0!=syc){//模拟迭代过程
x0=(x0+a)/a;
if(x0==syc){//迭代结束
break;
}else{
syc=x0;
}
}
cout<<"\n";
}
return 0;
}
这样是错的