这是我为查找小于或等于给定编号的跳跃数而编写的代码。它显示错误“超出输出限制”
int main() {
int t;
cin>>t;
while(t--)
{
long long int n ,rem,temp;
cin>>n ;
for(int i=0 ; i<=n ; ++i)
{
if(i<=10)
cout<<i<<" ";
else
{
temp=i;
do
{
rem=i%10;
i/=10;
}while(abs(rem-i%10)==1);
if(i==0)
{
cout<<temp<<" "; // printing jumping no.s
}
}
}
cout<<"\n";
}
return 0;
}
答案 0 :(得分:1)
您在do-while循环中将i除以10!当我达到11时,它将除以10,然后在main for循环的下一次迭代中,您将拥有非常低的i值,回到之前的值。您的循环将永远不会结束。