c++ 对于两个整数a,b,如果b是严格大于a且各位数字均不相同的最小整数,就视b为a的跟屁虫。现在给定a,请正在学习编程的你找出它的跟屁虫b。
时间: 2024-02-03 14:14:18 浏览: 57
可以通过分别枚举十位和个位上的数字,来找到满足条件的最小数字b。
具体地,从a+1开始枚举,对于每个数字,判断其十位和个位是否相同,以及是否小于10。如果满足这些条件,则该数字就是a的跟屁虫。
以下是用C++实现的代码:
```c++
#include <iostream>
using namespace std;
bool hasDuplicates(int n) {
int digits[10] = {0};
while (n > 0) {
int digit = n % 10;
if (digits[digit] > 0) {
return true;
}
digits[digit]++;
n /= 10;
}
return false;
}
int findFollower(int a) {
for (int i = a + 1; ; i++) {
if (!hasDuplicates(i)) {
return i;
}
}
}
int main() {
int a;
cin >> a;
int b = findFollower(a);
cout << b << endl;
return 0;
}
```
我们可以先判断一个数是否有重复数字的函数 `hasDuplicates`。然后在 `findFollower` 函数中,从 a+1 开始逐个枚举数字,直到找到满足条件的数字为止。最后输出跟屁虫b的值。
阅读全文