题目:给定任意一个正整数,求比这个数大且最小的“不重复数”,“不重复数”的含义是相邻两位不相同,例如1101是重复数,而1201是不重复数。
代码:
#include <iostream>
using namespace std;bool isthat(int x);int main( )
{int n;cin>>n;//while(cin>>n)//{int m = n+1; //满足条件,比n大cout<<"m = n+1"<<m<<endl<<endl;while(1){int x = m;//判断是否为不重复数bool yes = isthat(x);if(yes){cout<<x<<endl;break;}m++;}//逐个往上加
// }//while(cin>>n)return 0;
}bool isthat(int x)
{int m = x;int x1 = m%10; //取余m = m/10; //取商int x2;while(m){x2 = m%10;if(x1 == x2)return false; //重复数x1 = x2;m = m/10;}return true; //不重复数
}