另一种阶乘问题
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; } }
相关文章推荐
- Spring @Transactional
- SSH BaseDao代码
- mybatis+spring启动卡死解决方法
- 求二进制中1的个数
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- codeforces 672D Robin Hood (二分)
- 【C++】int与string的互转
- Linux php 中文乱码的快速解决方法
- spring+hibernate:在applicationCOntext.XML中配置C3P0参数说明
- Vim新手节省时间的10多个小技巧
- LeetCode 22 Generate Parentheses
- 迈克菲:2016年的八大网络安全威胁
- tomcat+nginx+redis实现均衡负载、session共享(一)
- MFC 中解析一个路径
- Django - “No migrations to apply” when run migrate after makemigrations
- jquery 的滚动条插件 jquery.nicescroll.js
- 关于JSONP
- visual studio下CUDA7.5的安装
- Tomcat指定JAVA_HOME而不用默认环境变量
- Objective-C编码规范:26个方面解决iOS开发问题