 |
ยอมแพ้แล้ว รันนานเกิน ลองไปรันกันดูเองแล้วกัน โค้ดเขียนแบบง่ายๆ ขี้เกียจตัด choice จะยอมรัน 10^10 รอบ แต่บังเอิญ run ใน VM ของ celeron M ชักช้าไม่ทันใจจริงๆ
แก้ตัวไปแบบน้ำขุ่นๆ -------------------------------------------------------------------------------- #include <stdio.h>
int test(int array[10]){ int start,i; int count[10]; int digit=0; int result=1;
for (i=0;i<10;i++){ count[i]=0; } // first skip 0 for (start=0;array[start]==0;start++) { }
// count each number for (i=start;i<10;i++){ count[(array[i])]++; }
// now compare for (i=start;i<10;i++){ if (array[i]!=count[digit]) { result=0; } digit++; } return result; }
void main(void){ int data[10]={0,0,0,0,0,0,1,2,1,0}; int i; int i0,i1,i2,i3,i4,i5,i6,i7,i8,i9,i10;
for (i0=0;i0<10;i0++){ for (i1=0;i1<10;i1++){ for (i2=0;i2<10;i2++){ for (i3=0;i3<10;i3++){ for (i4=0;i4<10;i4++){ for (i5=0;i5<10;i5++){ for (i6=0;i6<10;i6++){ for (i7=0;i7<10;i7++){ for (i8=0;i8<10;i8++){ for (i9=0;i9<10;i9++){ data[0]=i0; data[1]=i1; data[2]=i2; data[3]=i3; data[4]=i4; data[5]=i5; data[6]=i6; data[7]=i7; data[8]=i8; data[9]=i9; if (test(data)==1) { printf("Found!!\n"); for (i=0;i<10;i++){ printf("%d",data[i]); } printf("\n"); } } } } } } } } } } } }
จากคุณ |
:
ข้าวหลามอร่อย
|
เขียนเมื่อ |
:
23 ธ.ค. 54 14:49:38
|
|
|
|
 |