|
发表于 2018-8-4 13:00:35
|
显示全部楼层
- #include<stdio.h>
- #define SIZE 36
- #define fun(x,y,z) \
- for(int i##x=1;i##x<=y;i##x++){\
- z;\
- }
- int main()
- {
- int pyram[SIZE+1]={0,};
- int cubic[SIZE+1]={0,};
- fun(1,4,fun(2,4,fun(3,4,fun(4,4,fun(5,4,fun(6,4,fun(7,4,fun(8,4,fun(9,4,pyram[i1+i2+i3+i4+i5+i6+i7+i8+i9]++;)))))))));
- fun(1,6,fun(2,6,fun(3,6,fun(4,6,fun(5,6,fun(6,6,cubic[i1+i2+i3+i4+i5+i6]++;))))));
- for(int i=1;i<=SIZE;i++)
- cubic[i]+=cubic[i-1];
- long total=0;
- for(int i=SIZE;i;i--)
- total+=(long)pyram[i]*cubic[i-1];
- long double rate=total;
- fun(0,6,rate/=6);
- fun(0,9,rate/=4);
- printf("%.7Lf\n",rate);
- }
复制代码
simple brute force |
|