65-另一种阶乘问题

内存限制:64MB
时间限制:3000ms
特判: No

通过数:16
提交数:18
难度: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 分析:
  1、阶乘公式的变形,因为数据比较小不用高精度也可以解决问题 核心代码:
 int a = scan.nextInt();
ans = BigInteger.ZERO;
for(int i = 1; i <= a; ++ i) {
temp = BigInteger.ONE;
for(int j = 1; j <= i; j += 2) {
temp = temp.multiply(BigInteger.valueOd(j));
}
ans = ans.add(temp);
}
Systemp.out.println(ans);

java代码实现(AC):

 import java.util.*;
import java.io.*;
import java.math.*; public class Main {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
BigInteger ans ,temp;
int t = scan.nextInt();
while (t > 0) {
t--;
int a = scan.nextInt();
ans = BigInteger.ZERO;
for(int i = 1; i <= a; ++ i){
temp = BigInteger.ONE;
for(int j = 1; j <= i; j += 2){
temp = temp.multiply(BigInteger.valueOf(j));
}
ans = ans.add(temp);
}
System.out.println(ans);
}
}
}

nyoj 65-另一种阶乘问题 (Java 高精度)的更多相关文章

  1. NYOJ题目65另一种阶乘问题

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsIAAAJhCAIAAADE+EHOAAAgAElEQVR4nO3drXLjSAMu4HMT4bmQYF

  2. ACM 韩信点兵 、n的另一种阶乘、6174的问题

    3.6174问题 描述 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替换原来这个数,并且继续操作.例如,从1234出发,依次可以得到4321- ...

  3. 几种任务调度的 Java 实现方法与比较

    综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...

  4. ACM 另一种阶乘问题

    另一种阶乘问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来 ...

  5. 几种任务调度的 Java 实现方法与比较Timer,ScheduledExecutor,Quartz,JCronTab

    几种任务调度的 Java 实现方法与比较 综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quar ...

  6. 几种任务调度的 Java 实现方法与比较--转载

    前言 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务.本文由浅入深介绍四种任务调度的 Java 实现: Timer ScheduledExecutor 开源工具包 Quartz ...

  7. NYOJ--65--另一种阶乘问题

    /* Name: NYOJ--65--另一种阶乘问题 Date: 17/04/17 16:35 Description: 去年刚开始做题时的代码看不下去了,再做,打表呗 */ #include< ...

  8. 反转字符串的几种实现(Java)

    反转字符串的几种实现(Java) 首先第一种是利用Java中的类库对象进行反转 //第一种 使用Java类库的diam实现反转 public String reverse(String str){ S ...

  9. JAVA写JSON的三种方法,java对象转json数据

    JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07a ...

随机推荐

  1. jquery的返回顶端的功能实现

    页面很长的时候,读到最下面,需要返回顶端,则在页面最下面布局一个返回顶部的图标很有用. 具体功能是,jquey控制,向下滚动出现返回顶部图片,若滚动返回顶部或点回顶部,则图标消失. 实现效果如下图:

  2. 如何巧妙地在基于 TCP Socket 的应用中实现用户注册功能?

    通常,在基于TCP的应用中(比如我开源的GGTalk即时通信系统),当TCP连接建立之后,第一个请求就是登录请求,只有登录成功以后,服务器才会允许客户端进行其它性质的业务请求.但是,注册用户这个功能比 ...

  3. 【OUC2019写作】论文写作第九小组英语常用表达整理

    第一部分:  一.简要综述以往和现在研究: 某方法被认为如何如何:it is well known that; it is regarded as; it is believed to ; It is ...

  4. python编程系列---进程池的优越性体验

    1.通过multiprocessing.Process()类创建子进程 import multiprocessing, time, os, random def work(index): " ...

  5. Linux面试题-8

    1.Linux文件系统的文件都按其作用分门别类地放在相关的目录中,对于磁盘这种外部设备文件,一般应将其放在(C)目录中. A./bin B./etc C./dev D./lib 2.当使用mount进 ...

  6. 3M隔音耳罩拆分、清洗教程

    简介 3M隔音耳罩用起来真爽,十分适合喜欢安静的人.再者,被动和别人同住(学校.厂里宿舍.公司宿舍).公共场合时使用,效果刚刚的.题外话:有些人的素质……%¥%(*¥*! 3M隔音耳罩平时戴着也没觉得 ...

  7. 玩转PubSubClient MQTT库

    1.前言     在ESP8266学习系列中,博主一直使用HTTP协议.HTTP连接属于短连接,而在物联网应用中,广泛应用的却是MQTT协议.所以,本篇我们将学习Arduino平台上的MQTT实现库 ...

  8. vue cli3.3 以上版本配置vue.config.js 及反向代理操作解决跨域操作

    const webpack = require('webpack') module.exports = { configureWebpack: { plugins: [ new webpack.Pro ...

  9. SpringBoot与MybatisPlus整合之SQL分析插件(六)

    pom.xml: <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifac ...

  10. DRF框架(django rest framework)

    1,DRF框架? Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具.通常简称为DRF框架 或 REST framework. Django REST ...