15 int n3 = x2 * y1; 16 int n4 = x2 * y2; 17
18 r[3] = n1 % base;
19 r[2] = n1 / base + n2 % base + n3 % base;
20 r[1] = n3 / base + n2 / base + n4 % base; // Ìî¿Õ 21 r[0] = n4 / base; 22
23 r[1] += r[2] / base; // Ìî¿Õ 24 r[2] = r[2] % base; 25 r[0] += r[1] / base; 26 r[1] = r[1] % base; 27 }
28 int main(int argc, char* argv[]) 29 {
30 int x[] = {0,0,0,0};
31 bigmul(87654321, 12345678, x);
32 printf(\, x[0],x[1],x[2],x[3]); 33 system(\); 34 return 0; 35 }
Æß¡¢·ÅÆå×Ó
½ñÓÐ 6 x 6 µÄÆåÅ̸ñ¡£ÆäÖÐijЩ¸ñ×ÓÒѾԤÏȷźÃÁËÆå×Ó¡£ÏÖÔÚÒªÔÙ·ÅÉÏȥһЩ£¬Ê¹µÃ£ºÃ¿ÐÐÿÁж¼ÕýºÃÓÐ3¿ÅÆå×Ó¡£ÎÒÃÇÏ£ÍûÍÆËã³öËùÓпÉÄܵķŷ¨¡£ÏÂÃæµÄ´úÂë¾ÍʵÏÖÁËÕâ¸ö¹¦ÄÜ¡£
³õʼÊý×éÖУ¬¡°1¡±±íʾ·ÅÓÐÆå×Ó£¬¡°0¡±±íʾ¿Õ°×¡£
1 #include
4 using namespace std; 5
6 int N = 0;
7 bool CheckStoneNum(int x[][6]) 8 {
9 for(int k=0; k<6; k++) 10 {
11 int NumRow = 0; 12 int NumCol = 0;
13 for(int i=0; i<6; i++) 14 {
15 if(x[k][i]) NumRow++; 16 if(x[i][k]) NumCol++; 17 }
18 if(NumRow != 3 || NumCol != 3)// Ìî¿Õ 19 return false; 20 }
21 return true; 22 }
23 int GetRowStoneNum(int x[][6], int r) 24 {
25 int sum = 0;
26 for(int i=0; i<6; i++) if(x[r][i]) sum++; 27 return sum; 28 }
29 int GetColStoneNum(int x[][6], int c) 30 {
31 int sum = 0;
32 for(int i=0; i<6; i++) if(x[i][c]) sum++; 33 return sum; 34 }
35 void show(int x[][6]) 36 {
37 for(int i=0; i<6; i++) 38 {
39 for(int j=0; j<6; j++) printf(\, x[i][j]); 40 printf(\); 41 }
42 printf(\); 43 }
44 void f(int x[][6], int r, int c);
45 void GoNext(int x[][6], int r, int c) 46 {
47 if(c<6)
48 f(x, r, c+1); // Ìî¿Õ 49 else
50 f(x, r+1, 0); 51 }
52 void f(int x[][6], int r, int c) 53 {
54 if(r==6) 55 {
56 if(CheckStoneNum(x)) 57 {
58 N++; 59 show(x); 60 }
61 return;
62 }
63 if(x[r][c]) // Ìî¿Õ------ÒѾ·ÅÓÐÁËÆå×Ó 64 {
65 GoNext(x,r,c); 66 return; 67 }
68 int rr = GetRowStoneNum(x,r); 69 int cc = GetColStoneNum(x,c); 70 if(cc>=3) // ±¾ÁÐÒÑÂú 71 GoNext(x,r,c);
72 else if(rr>=3) // ±¾ÐÐÒÑÂú 73 f(x, r+1, 0); 74 else 75 {
76 x[r][c] = 1; 77 GoNext(x,r,c); 78 x[r][c] = 0;
79 if(!(3-rr >= 6-c || 3-cc >= 6-r)) // ±¾Ðлò±¾ÁÐÑÏÖØÈ±×Ó£¬Ôò±¾¸ñ²»ÄÜ¿Õ×Å£¡
80 GoNext(x,r,c); 81 } 82 }
83 int main(int argc, char* argv[]) 84 {
85 int x[6][6] = { 86 {1,0,0,0,0,0}, 87 {0,0,1,0,1,0}, 88 {0,0,1,1,0,1}, 89 {0,1,0,0,1,0}, 90 {0,0,0,1,0,0}, 91 {1,0,1,0,0,1} 92 };
93 f(x, 0, 0);
94 printf(\, N); 95 system(\); 96 return 0; 97 }
°Ë¡¢ÃÜÂë·¢ÉúÆ÷
ÔÚ¶ÔÒøÐÐÕË»§µÈÖØÒªÈ¨ÏÞÉèÖÃÃÜÂëµÄʱºò£¬ÎÒÃdz£³£Óöµ½ÕâÑùµÄ·³ÄÕ£ºÈç¹ûΪÁ˺üÇÓÃÉúÈÕ°É£¬ÈÝÒ×±»ÆÆ½â£¬²»°²È«£»Èç¹ûÉèÖò»ºÃ¼ÇµÄÃÜÂ룬ÓÖµ£ÐÄ×Ô¼ºÒ²»áÍü¼Ç£»Èç¹ûдÔÚÖ½ÉÏ£¬µ£ÐÄÖ½Õű»±ðÈË·¢ÏÖ»òŪ¶ªÁË...