65,210
社区成员
发帖
与我相关
我的任务
分享
int trans(int num,int *res)
{
int i=0;
while(num)
{
res[i++]=num%10;
num/=10;
}
return i;
}
int main()
{
int res[3],bit_map[10]; //
int i,j,b;
int join;
for(i=1;i<1000;++i)
{
memset(res,0,3*sizeof(int));
memset(bit_map,0,10*sizeof(int));
join=0;
b=trans(i, res);
for(j=0;j<b;++j) //检测重号
{
if(bit_map[res[j]]==0)
bit_map[res[j]]++;
else
cout<<i<<" ";
}
for(j=1;j<b;j++) //检测连号
{
if(res[j]!=res[j-1]-1)
{
join=1;
break;
}
}
if(join==0)
cout<<i<<" ";
}
}