博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机试题:N的阶乘(N很大时)
阅读量:4107 次
发布时间:2019-05-25

本文共 901 字,大约阅读时间需要 3 分钟。

这道看似简单的题,我第一遍的编译结果是:

问题出在数太大了,而我只把数据类型从int 改成了java……

import java.util.Scanner;public class Main {	public static void main(String[] args) {		// TODO Auto-generated method stub		Scanner sc=new Scanner(System.in);		while(sc.hasNext())		{			int n=sc.nextInt();			long result=1;			for(int i=1;i<=n;i++)			{				result=result*i;			}			System.out.println(result);		}	}}

看了AC过的代码,发现要用到 BigDecimal 或 BigInteger

修改之后,顺利通过了

(如果我在比赛前做了这道题,比赛的时候或许就能做出那道特大数的题了

……ε=(´ο`*)))唉)

import java.math.BigInteger;import java.util.Scanner;public class Main{	public static void main(String[] args) {		// TODO Auto-generated method stub		Scanner sc=new Scanner(System.in);		while(sc.hasNext())		{			int n=sc.nextInt();			BigInteger result=BigInteger.valueOf(1);    //第二种,参数可以是int、long			int i=1;			for(;i<=n;i++)			{				result=result.multiply(BigInteger.valueOf(i));    //乘法              			}			System.out.println(result);		}	}}

 

转载地址:http://xcssi.baihongyu.com/

你可能感兴趣的文章
pytorch(四)
查看>>
pytorch(5)
查看>>
pytorch(6)
查看>>
opencv 指定版本下载
查看>>
ubuntu相关
查看>>
C++ 调用json
查看>>
nano中设置脚本开机自启动
查看>>
动态库调动态库
查看>>
Kubernetes集群搭建之CNI-Flanneld部署篇
查看>>
k8s web终端连接工具
查看>>
手绘VS码绘(一):静态图绘制(码绘使用P5.js)
查看>>
手绘VS码绘(二):动态图绘制(码绘使用Processing)
查看>>
基于P5.js的“绘画系统”
查看>>
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>