您的位置:首页 > 其它

另一种阶乘问题

2016-05-13 10:04 375 查看

另一种阶乘问题

时间限制: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


import java.util.Scanner;

public class Main22 {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int number = input.nextInt();
for (int i = 0;i<number;i++){
int num = input.nextInt();
int result = solove(num);
System.out.println(result);
}
}

private static int solove(int num) {
//1:首先我需要求出来新的阶乘
int digital = handle(num);
//2:把计算出来的阶乘相加
int sum = 0;
for (int i = 1;i<=num;i++) {
sum += handle(i);
}
return sum;
}

private static int handle(int num) {
int n = 1;
for (int i = 1;i<=num;i+=2) {
n = n*i;
}
return n;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: