大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来的每个数相乘变为i不大于n的所有奇数相乘例如:5!!=1*3*5.现在明白现在这种阶乘的意思了吧!
现在你的任务是求出1!!+2!!......+n!!的正确值(n<=20)
2 3 5
5 23
#include <iostream> using namespace std; int solve(int n){ if(n == 1 || n == 2) return 1; if(n%2) return n*solve(n-2); else return solve(n-1); } int main(){ int a; cin >> a; for(int icase = 0 ; icase < a; ++ icase){ int n; cin >> n; int res = 0; for(int i = 1; i <= n; ++ i) res+=solve(i); cout<<res<<endl; } }
原文:http://www.cnblogs.com/xiongqiangcs/p/3637125.html