问题描述
输入一个正整数n,输出n!的值。
其中n!=1*2*3*…*n。
算法描述
n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。
将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。
首先将a设为1,然后乘2,乘3,当乘到n时,即得到了n!的值。
输入格式
输入包含一个正整数n,n<=1000。
输出格式
输出n!的准确值。
样例输入
10
样例输出
3628800

package base30;import java.util.Scanner;public class Main {static final int MAX = 10000;public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();in.close();int[] A = new int[MAX + 1];for (int i = 0; i < A.length; i++) {A[i] = 0;}A[0] = 1;int r = 0;for (int i = 2; i <= n; i++) {for (int j = 0; j < MAX; j++) {int temp = A[j] * i + r;r = temp / 10;A[j] = temp % 10;}}int m = MAX;while (A[m--] == 0 && m >= 0) ;for (int i = m + 1; i >= 0; i--) {System.out.print(A[i]);}}
}

[Java] 蓝桥杯BASIC-30 基础练习 阶乘计算相关推荐

  1. 蓝桥杯每日一练:阶乘计算

    一.题目 问题描述 输入一个正整数n,输出n!的值. 其中n!=1* 2* 3 *-*n. 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法.使用一个数组A来表示一个大整 ...

  2. 【JAVA】(vip)蓝桥杯试题 基础练习 阶乘计算 BASIC-30 JAVA

    目录 试题 基础练习 阶乘计算 要点 思路 代码(无注释) 代码(含有注释) 代码二,==运行超时,内存也超了==某位同学提出的是使用java的大数类BigInteger 试题 基础练习 阶乘计算 资 ...

  3. java蓝桥杯练习 学做菜

    java蓝桥杯练习 学做菜 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 涛涛立志要做新好青年,他最近在学做菜.由于技术还很生疏,他只会用鸡蛋,西红柿,鸡丁,辣酱这四种原料来做菜, ...

  4. java蓝桥杯练习 拉马车

    java蓝桥杯练习 拉马车 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小的时候,你玩过纸牌游戏吗? 有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友. ...

  5. java蓝桥杯练习 幸运数

    java蓝桥杯练习 幸运数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成. 首先从1开始写出 ...

  6. JAVA 蓝桥杯 算法提高 色盲的民主

    JAVA 蓝桥杯 算法提高 色盲的民主 资源限制 时间限制:1.0s 内存限制:256.0MB  色盲的民主 问题描述 n个色盲聚在一起,讨论一块布的颜色.尽管都是色盲,却盲得各不相同.每个人都有自 ...

  7. java蓝桥杯练习 星际交流

    java蓝桥杯练习 星际交流 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了 ...

  8. 标题 日期问题java蓝桥杯,日期类的使用(java)-蓝桥杯

    蓝桥杯日期问题常考,java提供了日期类很方便: //日历类 Calendar c = Calendar.getInstance(); // 获取实例化对象 Date date =c.getTime( ...

  9. java蓝桥杯练习 蜜蜂飞舞

    java蓝桥杯练习 蜜蜂飞舞 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 "两只小蜜蜂呀,飞在花丛中呀--" 话说这天天上飞舞着两只蜜蜂,它们在跳一种奇怪的舞 ...

  10. Java 蓝桥杯 我们的征途是星辰大海

    Java 蓝桥杯 我们的征途是星辰大海 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表空地,curiosity可以穿过它 '#' 代 ...

最新文章

  1. MVC用非Entity Framework将数据显示于视图(二)
  2. JavaScript是如何工作的:事件循环和异步编程的崛起+ 5种使用 async/await 更好地编码方式!...
  3. web前端培训分享Electron之Main Process API
  4. Boost:双图bimap与property地图的测试程序
  5. 如何用python 开发web_如何用python开发web
  6. 在演唱过后的飞秋代码
  7. SpringBoot—数据库初始化脚本配置
  8. 数据结构与算法-没有算法的操作VS有算法的操作,性能大提升
  9. 【内容管理系统】之 Strapi
  10. spring yml 配置事务_application.yml与bootstrap.yml的区别
  11. 韩开发新技术 用纸代替硅制造电路芯片
  12. Markdown list状态下插入代码
  13. Qt For Android | QT安卓开发环境搭建
  14. 华硕服务器主板那个系列好,华硕主板型号性价比排行 华硕主板那个性价最好用...
  15. 数据科学分布——Beta分布
  16. 批量部署服务器系统,自动化运维之cobbler批量部署服务器系统 | opengers
  17. 安卓 获取机身内存,可用内存;运行内存,剩余内
  18. 毕设论文数据分析记录-part2:相关性分析
  19. php 使用内置web服务器
  20. win平板计算机,十大平板电脑排行,告诉你平板电脑哪个好

热门文章

  1. java日期处理简单封装
  2. 在Eclipse中配置NDK自动编译环境builders
  3. Oracle 禁止操作系统认证登录
  4. python模块-paramiko
  5. HDU1022 Train Problem I
  6. 大数据开发套件DataIDE使用教程
  7. Windows下搭建个人博客(Apache+MySQL+PHP+WordPress)
  8. 《软件工程》第四次作业--目标软件(必应词典)
  9. 软件公司多注重开发不注重管理
  10. 创新工场面试题——输出螺旋矩阵