另一种阶乘问题
另一种阶乘问题
时间限制:3000 ms | 内存限制:65535 KB
难度:1
- 描述
大家都知道阶乘这个概念,举个简单的例子: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
- 来源
- [张洁烽]原创
- 上传者
01.
#include<stdio.h>
02.
int
fun(
int
a)
03.
{
04.
if
(a%2==0)
05.
a=a-1;
06.
int
count=1;
07.
while
(a>0)
08.
{
09.
count=count*a;
10.
a=a-2;
11.
}
12.
return
count;
13.
}
14.
int
main()
15.
{
16.
int
N,i,k=0,a[100];
17.
scanf
(
"%d"
,&N);
18.
for
(i=0;i<N;i++)
19.
scanf
(
"%d"
,&a[i]);
20.
for
(i=0;i<N;i++)
21.
{
22.
for
(;a[i]>0;a[i]--)
23.
k=k+fun(a[i]);
24.
printf
(
"%d\n"
,k);
25.
k=0;
26.
}
27.
return
0;
28.
}