日期:2014-05-18 浏览次数:21372 次
int Up = 0, Dn = 0;
long[] jz = new long[2402];
int[] a = new int[4] { 0, 0, 0, 0 };
int x1 = 0, x2 = 0, x3 = 0, x4 = 0, x5 = 0, x6 = 0, x7 = 0;
for (int i = 0; i < 2402; i++) jz[i] = 0;
for (int i1 = 0; i1 < 24; i1++)
for (int i2 = i1 + 1; i2 < 25; i2++)
for (int i3 = i2 + 1; i3 < 26; i3++)
for (int i4 = i3 + 1; i4 < 27; i4++)
for (int i5 = i4 + 1; i5 < 28; i5++)
for (int i6 = i5 + 1; i6 < 29; i6++)
for (int i7 = i6 + 1; i7 < 30; i7++){
Up = 0;
Up = Up | (1 << i1);
Up = Up | (1 << i2);
Up = Up | (1 << i3);
Up = Up | (1 << i4);
Up = Up | (1 << i5);
Up = Up | (1 << i6);
Up = Up | (1 << i7);
for (int n1 = 0; n1 < 24; n1++)
for (int n2 = n1 + 1; n2 < 25; n2++)
for (int n3 = n2 + 1; n3 < 26; n3++)
for (int n4 = n3 + 1; n4 < 27; n4++)
for (int n5 = n4 + 1; n5 < 28; n5++)
for (int n6 = n5 + 1; n6 < 29; n6++)
for (int n7 = n6 + 1; n7 < 30; n7++){
x1 = 0; x2 = 0; x3 = 0; x4 = 0; x5 = 0; x6 = 0; x7 = 0;
a[0] = 0; a[1] = 0; a[2] = 0; a[3] = 0;
if (n1 > 0) { Dn = 1 << (n1 - 1); if ((Up & Dn) == Dn) x1++; }
Dn = 1 << n1; if ((Up & Dn) == Dn) x1++;
Dn = 1 << (n1 + 1); if ((Up & Dn) == Dn) x1++;
Dn = 1 << (n2 - 1); if ((Up & Dn) == Dn) x2++;
Dn = 1 << n2; if ((Up & Dn) == Dn) x2++;
Dn = 1 << (n2 + 1); if ((Up & Dn) == Dn) x2++;
Dn = 1 << (n3 - 1); if ((Up & Dn) == Dn) x3++;
Dn = 1 << n3; if ((Up & Dn) == Dn) x3++;
Dn = 1 << (n3 + 1); if ((Up & Dn) == Dn) x3++;
Dn = 1 << (n4 - 1); if ((Up & Dn) == Dn) x4++;
Dn = 1 << n4; if ((Up & Dn) == Dn) x4++;
Dn = 1 << (n4 + 1); if ((Up & Dn) == Dn) x4++;
Dn = 1 << (n5 - 1); if ((Up & Dn) == Dn) x5++;
Dn = 1 << n5; if ((Up & Dn) == Dn) x5++;
Dn = 1 << (n5 + 1); if ((Up & Dn) == Dn) x5++;
Dn = 1 << (n6 - 1); if ((Up & Dn) == Dn) x6++;
Dn = 1 << n6; if ((Up & Dn) == Dn) x6++;
Dn = 1 << (n6 + 1); if ((Up & Dn) == Dn) x6++;
Dn = 1 << (n7 - 1); if ((Up & Dn) == Dn) x7++;
Dn = 1 << n7; if ((Up & Dn) == Dn) x7++;
if (n7 < 30) { Dn = 1 << (n7 + 1); if ((Up & Dn) == Dn) x7++; }
a[x1]++; a[x2]++; a[x3]++; a[x4]++; a[x5]++; a[x6]++; a[x7]++;
//(a[0] << 8) + (a[0] << 6) + (a[0] << 3) - a[0]=a[0]*343=[0]*7*7*7
//(a[1] << 5) + (a[1] << 4) + a[1]=a[1]*49=a[1]*7*7
//(a[2] << 3) - a[2]=a[2]*7
jz[((a[0]<<8)+(a[0]<<6)+(a[0]<<4)+(a[0]<<3)-a[0])+((a[1]<<5)+(a[1]<<4)+a[1])+((a[2]<<3)-a[2])+a[3]]++;
}
}