题目描述
如果一个数字十进制表达时,不存在连续两位相同,则称之为“不重复数”。例如,105、1234和12121都是“不重复数”,而11、100和1225不是。给定一个正整数A,返回大于A的最小“不重复数”。(A<100000)
输入
正整数A
输出
大于A的最小不重复数
样例输入
54
样例输出
56
#include <stdio.h>
int jug(int num)
{
int i = 0, cnt[6] = {0}, j;
while (num)
{
cnt[i] = num % 10;//统计各个位数的数字
num = num / 10;
i++;
}
for (j = 0; j < i; j++)
{
if (cnt[j] == cnt[j + 1])//如果是重复数字则返回
return 0;
}
if (i == j)
return 1;//不是重复数字输出
}
int main()
{
int i, num;
scanf("%d", &num);
for (i = 0; i < 10000; i++)
{
num++;
if (jug(num) == 1)
{
printf("%d", num);
return 0;
}
}
return 0;
}