对于两个整数a,ba,b,如果bb是严格大于aa且各位数字均不相同的最小整数,就视bb为aa的跟屁虫。现在给定aa,请正在学习编程的你找出它的跟屁虫bb。
时间: 2024-02-03 21:11:38 浏览: 29
我们可以从a+1开始一个个枚举数字,直到找到第一个满足以下条件的数字b:
1. b > a
2. b的各位数字均不相同
如果找不到这样的b,则a没有跟屁虫。
以下是Python代码实现:
```python
def find_follower(a):
while True:
a += 1
digits = set(str(a))
if len(digits) == len(str(a)):
return a
```
例如,对于a=123,它的跟屁虫是124,因为125不满足各位数字均不相同的条件,而126大于123且各位数字均不相同。
相关问题
对于两个整数a,ba,b,如果bb是严格大于aa且各位数字均不相同的最小整数,就视bb为aa的跟屁虫。现在给定aa,请用C++语言你找出它的跟屁虫bb。
以下是C++代码实现:
```cpp
#include <iostream>
using namespace std;
bool check(int x) {
int vis[10] = {0};
while (x > 0) {
int t = x % 10;
if (vis[t]) return false;
vis[t] = 1;
x /= 10;
}
return true;
}
int main() {
int a;
cin >> a;
for (int i = a + 1; ; i++) {
if (check(i)) {
cout << i << endl;
break;
}
}
return 0;
}
```
首先,我们需要一个函数`check`来检查一个整数是否满足各位数字均不相同的条件。具体实现是,我们使用一个长度为10的数组来记录每个数字是否出现过,如果出现过则返回false,否则返回true。
接下来,在主函数中读入整数a,然后从a+1开始依次枚举整数,判断是否满足条件。如果满足条件,则输出该整数并退出程序。
题目描述 具体而言,给定两个整数 a,ba,b,保证 b\neq 0b =0。莲子要实现这样一个函数 \operatorname{fun}(a,b)fun(a,b) 来将 bb 的符号转移到 aa 上。 具体而言,\operatorname{fun}(a,b)=\operatorname{sgn}(b)\times |a|fun(a,b)=sgn(b)×∣a∣。其中,\operatorname{sgn}(b)=\begin{cases}1&b>0\\-1&b<0\end{cases}sgn(b)={ 1 −1 b>0 b<0 换而言之: 如果 bb 是正数,那么 \operatorname{fun}(a,b)=+|a|=|a|fun(a,b)=+∣a∣=∣a∣; 如果 bb 是负数,那么 \operatorname{fun}(a,b)=-|a|fun(a,b)=−∣a∣。 输入格式 共一行两个整数 a,ba,b。 输出格式 共一行一个整数 \operatorname{fun}(a,b)fun(a,b) 的值。
给定两个整数 a 和 b,保证 b 不等于 0。要实现一个函数 fun(a,b),将 b 的符号转移到 a 上。
具体而言,fun(a,b) = sgn(b) × |a|,其中 sgn(b) = {1,当 b > 0;-1,当 b < 0;0,当 b = 0}。