您的位置:首页 > 编程语言 > C语言/C++

钥匙计数之二

2014-04-12 09:24 204 查看

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  钥匙计数之二 c++ hdu