• 另一种阶乘问题


    另一种阶乘问题

    时间限制: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;
    	}
    	
    }
    
  • 相关阅读:
    图论小测
    有关连通性
    差分约束
    php中代码执行&&命令执行函数【转载】
    Boss直聘的一个csrf与url跳转漏洞(已经修复)
    Immunity Canvas初体验加操作指南
    SSRF复习版本
    XXE漏洞复习版本
    信息收集汇总
    web前端逆向初体验
  • 原文地址:https://www.cnblogs.com/airycode/p/5488395.html
Copyright © 2020-2023  润新知