n为正整数,求比这个数字大且最小的不重复数字,重复数字为相邻两位数的数字,
如1101是重复数字,2101就不是;
简单版本的练习
#include <iostream>
#include <assert.h>
bool JudgeReFigure_Func(int num) {
int lastnum = -1;
int curnum = 0;
while (num) {
if (lastnum == -1) {
lastnum = num % 10;
}
else {
curnum = num % 10;
if (curnum == lastnum) {
return false;
}
lastnum = curnum;
}
num /= 10;
}
return true;
}
int AddFigure_Func (int num) {
assert(num > 9);
num += 1;
while (!JudgeReFigure_Func(num)) {
num++;
}
return num;
}
int main(int argc, char *argv[]) {
int n = 0;
std::cout << "请输入:";
std::cin >> n;
std::cout << "结果:" << AddFigure_Func(n) << std::endl;
system("pause");
return 0;
}