|
|
加上输出时间,
D:\app>tp7
当前时间: 8:35:29.12
输入新时间:
当前时间: 8:35:29.18
输入新时间:
- #include <stdio.h>
- #include <time.h>
- int main()
- {
- int i=0;
- int j=0;
- int k=0;
- int l=0;
- char a[60000][15];
- int b[15];
- int c=0;
- for(i=1;i<=7;i++)//level 1 第一个数第一位最大7
- {
- a[i][1]=i;
- a[i][2]=a[i][3]=a[i][4]=a[i][5]=a[i][6]=a[i][7]=a[i][8]=a[i][9]=a[i][10]=a[i][11]=a[i][12]=0;
- a[i][13]=1;
- a[i][14]=0;
- }
- b[0]=1;
- b[1]=8;
- i=b[1]-1;
- for(j=2;j<=12;j++)//level 2-12
- {
- //printf("j=%d,%d-%d,count=%d\n",j,b[j-2],b[j-1]-1,b[j-1]-b[j-2]);
- for(k=1;k<=12;k++)//digit 1-12
- {
- for(l=b[j-2];l<b[j-1];l++) //l -> last level
- {
- if(
- (k!=a[l][1]&&k!=a[l][2]&&k!=a[l][3]&&k!=a[l][4]&&k!=a[l][5]&&k!=a[l][6]&&k!=a[l][7]&&k!=a[l][8]&&k!=a[l][9]&&k!=a[l][10]&&k!=a[l][11])
- &&((a[l][13]==3||a[l][13]==6||a[l][13]==9)
- ||(a[l][13]==11&&k==(a[l][10]+a[l][11]+a[l][14])%16&&a[l][3]==a[l][1]+a[l][2]+(a[l][10]+a[l][11])/16)
- ||(a[l][13]==10&&k>a[l][10])
- ||(a[l][13]==8&&k==(a[l][7]+a[l][8]+a[l][14])%16)
- ||(a[l][13]==7&&k>a[l][7])
- ||(a[l][13]==5&&k==(a[l][4]+a[l][5])%16)
- ||(a[l][13]==4&&k>a[l][4])
- ||(a[l][13]==2&&(k==a[l][1]+a[l][2]||k==a[l][1]+a[l][2]+1))
- ||(a[l][13]==1&&k>a[l][1]&&k+a[l][1]<=15)//12)
- )
- )
- {
- i++;
- a[i][1]=a[l][1];
- a[i][2]=(a[l][13]==1)?k:a[l][2];
- a[i][3]=(a[l][13]==2)?k:a[l][3];
- a[i][4]=(a[l][13]==3)?k:a[l][4];
- a[i][5]=(a[l][13]==4)?k:a[l][5];
- a[i][6]=(a[l][13]==5)?k:a[l][6];
- a[i][7]=(a[l][13]==6)?k:a[l][7];
- a[i][8]=(a[l][13]==7)?k:a[l][8];
- a[i][9]=(a[l][13]==8)?k:a[l][9];
- a[i][10]=(a[l][13]==9)?k:a[l][10];
- a[i][11]=(a[l][13]==10)?k:a[l][11];
- a[i][12]=(a[l][13]==11)?k:a[l][12];
- a[i][13]=a[l][13]+1;
- a[i][14]=
- (a[l][13]==5)?(a[l][4]+a[l][5])/16:(
- (a[l][13]==8?(a[l][7]+a[l][8]+a[l][14])/16:(
- (a[l][13]==11)?(a[l][10]+a[l][11]+a[l][14])/16:a[l][14])));
- if(a[i][13]==12)
- {
- c++;
- printf("%x%x%x%x+%x%x%x%x=%x%x%x%x\n",/*1 10 7 4 2 11 8 5 3 12 9 6*/a[i][1],a[i][10],a[i][7],a[i][4],a[i][2],a[i][11],a[i][8],a[i][5],a[i][3],a[i][12],a[i][9],a[i][6]);
- printf("%x%x%x%x+%x%x%x%x=%x%x%x%x\n",/*1 10 7 5 2 11 8 4 3 12 9 6*/a[i][1],a[i][10],a[i][7],a[i][5],a[i][2],a[i][11],a[i][8],a[i][4],a[i][3],a[i][12],a[i][9],a[i][6]);
- printf("%x%x%x%x+%x%x%x%x=%x%x%x%x\n",/*1 10 8 4 2 11 7 5 3 12 9 6*/a[i][1],a[i][10],a[i][8],a[i][4],a[i][2],a[i][11],a[i][7],a[i][5],a[i][3],a[i][12],a[i][9],a[i][6]);
- printf("%x%x%x%x+%x%x%x%x=%x%x%x%x\n",/*1 11 7 4 2 10 8 5 3 12 9 6*/a[i][1],a[i][11],a[i][7],a[i][4],a[i][2],a[i][10],a[i][8],a[i][5],a[i][3],a[i][12],a[i][9],a[i][6]);
- printf("%x%x%x%x+%x%x%x%x=%x%x%x%x\n",/*1 11 8 4 2 10 7 5 3 12 9 6*/a[i][1],a[i][11],a[i][8],a[i][4],a[i][2],a[i][10],a[i][7],a[i][5],a[i][3],a[i][12],a[i][9],a[i][6]);
- printf("%x%x%x%x+%x%x%x%x=%x%x%x%x\n",/*1 11 7 5 2 10 8 4 3 12 9 6*/a[i][1],a[i][11],a[i][7],a[i][5],a[i][2],a[i][10],a[i][8],a[i][4],a[i][3],a[i][12],a[i][9],a[i][6]);
- printf("%x%x%x%x+%x%x%x%x=%x%x%x%x\n",/*1 11 8 5 2 10 7 4 3 12 9 6*/a[i][1],a[i][11],a[i][8],a[i][5],a[i][2],a[i][10],a[i][7],a[i][4],a[i][3],a[i][12],a[i][9],a[i][6]);
- printf("%x%x%x%x+%x%x%x%x=%x%x%x%x\n",/*1 10 8 5 2 11 7 4 3 12 9 6*/a[i][1],a[i][10],a[i][8],a[i][5],a[i][2],a[i][11],a[i][7],a[i][4],a[i][3],a[i][12],a[i][9],a[i][6]);
- }
- } //if
- } //l
- } //k
- b[j]=i+1;
- } //j
- printf("c=%d\n",c*8);
- return 1;
- }
复制代码 |
|