一个十进制数,不存在连续两位相同,若输入21099,则返回21201
#include<stdio.h>
#include<math.h>
int func(int value){
int t=value,r,n=0,i;
int a[6]={0};
while(t>0){
t/=10;n++;
}
t=value;
for(i=0;i<n;i++){
a[i]=t%10;t/=10;
}
t=value;
while(1){
for(i=0;i<n-1;i++){
if(a[i]==a[i+1]){
t+=pow(10,i);
r=t;
if(t>1e5){return 0;}
i=0;
while(r>0){
a[i++]=r%10;
r/=10;
}
i=-1;
}
}
break;
}
return t;
}
int main(){
int num;
scanf("%d",&num);
printf("%d",func(num));
}