#include "stdio.h"
#include "stdlib.h"
void main()
{
int flag;
long i,j;
char str[10];
for(i=111111;i<=222222;i++)
{
flag=1;
ltoa(i,str,10); /* 轉化為字符串 */
for(j=0;j<6;j++)
{
if(str[j]!='1' && str[j]!='2') / 判斷每位是1或2 */
{flag=0;break;}
}
if(flag)
printf("%ld\n",i);
}
}
/* 第2種方法 */
#include "stdio.h"
void main()
{
int a[6]={0};/* 用0或1 表示1或2 */
int i,j,flag;
while(1)
{
for(i=0;i<6;i++)
printf("%d",a[i]+1);
printf("\n");
flag=0;
for(i=5;i>=0;i--)
{
if(a[i]==0)
{
a[i]=1; /* 0變1 */
flag=1;
break;
}
if((a[i]==1) && (i>0 && a[i-1]==0))
{
a[i-1]=1; /* 前面的0變1,後面1全部為0 */
for(j=5;j>i-1;j--)
a[j]=0;
flag=1;
break;
}
}
if(flag==0)
break;
}
}