这道题目直接暴力枚举,然后再进行判断!不过要注意的是是n<=9000;而不是你所输出的值小于9000
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
int n,i,a1,b,c,d;
while(scanf("%d",&n)!=EOF)
{
for(i=n+1; ; i++)
{
a1=i/1000;
b=(i/100)%10;
c=(i/10)%10;
d=i%10;
if(a1!=b&&a1!=c&&a1!=d&&b!=c&&b!=d&&c!=d)
{
printf("%d\n",i);
break;
}
}
}
return 0;
}