钥匙计数之二
Problem Description
一把钥匙有N个槽,2<N<26槽深为1,2,3,4,5,6。每钥匙至少有3个不同的深度且相连的槽其深度之差不得为5。求这样的钥匙的总数。
Input
本题无输入
Output
对2<N<26,输出满足要求的钥匙的总数。
Sample Output
N=3: 104 N=4: 904 N=5: 5880 . . . . . N=25: 8310566473196300280
#include<iostream> #include<cmath> using namespace std; int main() { __int64 a[26],num[3],t=16; int i,n,m; a[3]=104; for(i=4;i<26;i++) { num[1]=a[i-1]; num[2]=a[i-1]-t; num[1]+=9*((__int64)pow(2,i-1)-2); num[2]+=4*((__int64)pow(2,i-2)-1)+6*((__int64)pow(2,i-1)-2); a[i]=4*num[1]+2*num[2]; t=num[2]; } for(i=3;i<26;i++) { cout<<"N="<<i<<": "; printf("%I64d\n",a[i]); } return 0; }