View Code of Problem 3834

#include<stdio.h>
#include<math.h>
//大于20时,分子超限,呜呜呜
//对组合用递归  cmn=cm-1 n+cm-1 n-1 
long long int zuhe(int n,int m)
{
	if(n==0||m==n) return 1;
	else 
	return zuhe(n,m-1)+zuhe(n-1,m-1);
}

int main()
{
	int n;
	while(scanf("%d",&n)!=EOF)
	{
		long long int sum=0;
		long long int num=0;
		for(int i=0;i<=n;i=i+2)
		{
			num=pow(2,n-i);
			long long int x=num;
			num=num*zuhe(i,n);
//			printf("%d %lld %lld\n",i,zuhe(i,n),x); 
			sum+=num;
		}
		printf("%lld\n",sum);
	}
}

Double click to view unformatted code.


Back to problem 3834