另一种阶乘问题

xiaoxiao2021-02-28  33

描述

大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来的每个数相乘变为i不大于n的所有奇数相乘例如:5!!=1*3*5.现在明白现在这种阶乘的意思了吧!

现在你的任务是求出1!!+2!!……+n!!的正确值(n<=20)

输入 第一行输入一个a(a<=20),代表共有a组测试数据 接下来a行各行输入一个n.

输出 各行输出结果一个整数R表示1!!+2!!……+n!!的正确值 样例输入 2 3 5 样例输出 5 23

代码如下

#include< stdio.h> int main() { int n,x,i,s,j,sum; scanf(“%d “,&n);//n组数据循环; while(n–) { sum=0; scanf(“%d”,&x); for(i=1; i<=x; i++)//由于例如3!!==1!!+2!!+3!!; { //第一个for循环是求1!!到x!! s=1; for(j=1;j<=i;j=j+2)//第二个for循环是为了求每个x!!中的奇数; { s=s*j;//是奇数就相乘; } sum=sum+s;//最后再相加即可; } printf(“%d\n”,sum);//最后输出所求之和即可; } return 0; }

转载请注明原文地址: https://www.6miu.com/read-2612961.html

最新回复(0)