题目地址
将原来的每个数相乘变为i不大于n的所有奇数相乘例如:5!!=1*3*5.
现在你的任务是求出1!!+2!!......+n!!的正确值(n<=20)
分析:
主要用到了一次递归求和,很简单。
代码:
#include<iostream> using namespace std; //递归求和 int recursionSum(int n) { if( n==1 || n==0) return 1; int R=1; for(int i=1;i<=n;i++) { if(i%2==0) continue; R*=i; } return R+recursionSum(n-1); } int main() { int a,n,R; //a(a<=20) (n<=20) cin>>a; while(a--) { cin>>n; cout<<recursionSum(n)<<endl; } return 0; }
附:
关于官方的最优程序,不知道这样做有什么意义,还要程序做什么?
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-12 21:33:37