Java怎样求解n的阶乘 n!(详解)

2023-11-09

n!是表示为自然数n的阶乘,即:n!=1 × 2 × 3…(n-2) × (n-1) × n。如: 9!=9×8×7×6×5×4×3×2×1。
阶乘也可以递归方式定义:0!=1,n!=(n-1)!×n。
希望对您有所帮助。

具体代码实现:
import java.util.Scanner;

public class factorial {
	public static void main(String[] args){
		    System.out.printf("输入任意一个数:");
		    Scanner input = new Scanner(System.in);  //用于接收输入数据
		    int n = input.nextInt();                 //将输入的数据赋给 n
		    int a = 1;                               //用于存储阶乘的值
		    for(int i = 1;i <= n;i++){
		        a *= i;                              // 等同于 a = a*i; ---->阶乘运算公式
		        System.out.printf("%d\n",a);         //每计算一次就打印一次
		    }
		    System.out.printf("%d的阶乘为:%d\n",n,a); //打印最后计算的结果
	}
}


输出结果:

在这里插入图片描述

:: 更多内容 ::

> 开发过程中踩坑经验记录

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java怎样求解n的阶乘 n!(详解) 的相关文章

  • java.lang.VerifyError:JVMVRFY012堆栈形状不一致;

    在 WAS 8 5 5 中部署 Maven 项目时出现以下错误 我在WAS中安装了JDK 1 6和1 7 错误500 org springframework web util NestedServletException 处理程序处理失败
  • 策略模式还是命令模式?

    假设我有一个金融交易列表 我需要针对这些交易执行一系列验证规则 一个例子是我有一笔购买产品的交易 但是首先我需要验证交易中的帐户是否有足够的可用资金 产品没有售完等 由于这些规则 交易将是标记为拒绝 并应指定错误代码 当然 我正在考虑用一个
  • 最快的高斯模糊实现

    如何以最快的速度实施高斯模糊 http en wikipedia org wiki Gaussian blur算法 我要用Java来实现它 所以GPU http en wikipedia org wiki Graphics processi
  • Java 卡布局。多张卡中的一个组件

    一个组件 例如JLabel 在多张卡中使用CardLayout 目前看来该组件仅出现在它添加到的最后一张卡上 如果有办法做到这一点 我应该吗 这是不好的做法吗 或者有其他选择吗 你是对的 它只出现在 添加到的最后一张卡 中 但这与CardL
  • 记录共享和映射的诊断上下文

    据我所知 其他人做了什么来解决 Commons Logging 项目 针对 NET 和 Java 不支持映射或嵌套诊断上下文这一事实 执行摘要 我们选择直接使用实现者日志框架 在我们的例子中为 log4j 长答案 您是否需要一个抽象日志框架
  • 如何在 HandlerInterceptorAdapter 中添加 HttpServletRequest 标头?

    我正在尝试将授权标头添加到我的请求中 作为我们切换环境时的临时解决方法 我试图在扩展 HandlerInterceptorAdapter 的拦截器中处理它 我使用 MutableHttpServletRequest 类制作here http
  • Struts 1 到 Spring 迁移 - 策略

    我有一个legacy银行应用程序编码为Struts 1 JSP现在的要求是迁移后端 目前为 MVC to Springboot MVC 后续UI JSP 将迁移到angular Caveats 1 后端不是无状态的 2 会话对象中存储了大量
  • 纱线上的火花,连接到资源管理器 /0.0.0.0:8032

    我正在我的开发机器 Mac 上编写 Spark 程序 hadoop的版本是2 6 spark的版本是1 6 2 hadoop集群有3个节点 当然都在linux机器上 我在idea IDE中以spark独立模式运行spark程序 它运行成功
  • 在带有 Protocol Buffers 的项目中使用 Proguard 有什么特点?

    我有一个使用 Google Protocol Buffers 的项目 一旦我尝试用 ProGuard 对其进行混淆 似乎 protobuf 会导致问题 我将所有自己的类打包成mybuildedclasses jar 谷歌代码被打包成prot
  • 如何从字符串中解析一个大整数? [复制]

    这个问题在这里已经有答案了 我有一个这样的方法 Integer parseInt myInt 不是这个整数变得很长 我得到以下异常 java lang NumberFormatException For input string 40001
  • 如何在不反编译的情况下更改已编译的.class文件?

    我想更改 class 文件方法 我安装 JD Eclipse Decompiler 并打开 class 文件 我添加了一些代码并保存 class 文件 但是 class 文件没有改变 我不知道如何使用反编译器 如果可能的话 如何在不使用反编
  • HTTP 状态 405 - 此 URL java servlet 不支持 HTTP 方法 POST [重复]

    这个问题在这里已经有答案了 我无法使页面正常工作 我有要发布的表单方法和我的 servlet 实现doPost 然而 它不断地向我表明我并不支持POST方法 我只是想做一个简单的网站并将值插入到我的 MySQL 数据库中 type Stat
  • 如何以编程方式创建 CardView

    我正在开发一个 Android 应用程序Java Android Studio 我想在活动中创建CardView以编程方式 我想将以下属性设置为CardView layout width wrap content layout row 0
  • 如何使用Gson仅从Json反序列化某些特定字段?

    我有以下 JSON 字符串 channel bvmt initValues data value instrumentIds TN0007250012 TN0007500010 instruments mnemonic ADWYA marc
  • javax.media.jai 类的公共下载?

    这是一个非常简单的问题 我一直在寻找可以下载 javax media jai 库的地方 我找到了 jai imageio 库 但是我发现的所有其他 jai 内容要么已经过时 2008 年及之前 然后我遇到了登录屏幕 是否有 javax me
  • 如何制作一个makefile只用于编译一些java文件?

    我有三个java文件 名为A java B java C java A将创建对象B B将创建对象C 但我以前从未构建过makefile 有谁可以帮我构建一个 makefile 来编译这三个 java 文件吗 我应该使用什么工具来制作 mak
  • java.lang.IllegalStateException - 提交响应后无法创建会话

    我在我的项目中使用 JSF PrimeFaces 我为此准备了一个Maven项目 当我编译项目并加载主页后 我收到以下异常 java lang IllegalStateException Cannot create a session af
  • spring data jpa复合键重复键记录插入导致更新

    我有一个具有复合键的实体 我试图通过使用 spring data jpa 存储库到 mysql 数据库来持久化它 如下所示 Embeddable public class MobileVerificationKey implements S
  • 如何使用自定义 JDK 构建 Jenkins 项目?

    我有一个常规的 Jenkins 实例 运行一些多分支管道 该实例在 JDK 11 上运行 因为 Jenkins 并不真正支持更高版本 没关系 但不好的是 我的所有管道似乎也都受到 Java 11 的限制 Jenkins 仅使用它自己也使用的
  • 决策树和规则引擎 (Drools)

    In the application that I m working on right now I need to periodically check eligibility of tens of thousands of object

随机推荐

  • 怎么提高团队的代码质量

    1 java代码规范 阿里巴巴IDEA代码规范包 安装和使用的方法 https www jianshu com p 8973b20f2de9 2 编写高质量的单元测试 开发人员能提交测试之前 通过单元测试完成自测 3 保证代码质量要做到持续
  • unity 鼠标点击在2D 物体上 和UI上

    unity 鼠标点击在2D 物体上 和UI上 1 鼠标是否点击在2D 物体上
  • Git的下载与安装教程

    一 Git下载 官网下载地址 Git git scm com 点击 Download for Windows 跳转至详细下载页面 以Windows64位安装版为例 点击 64 bit Git for Windows Setup 即可进行下载
  • 3分钟阿里云服务器网络收发包PPS性能详解

    阿里云服务器ECS网络收发包PPS是什么 云服务器PPS多少合适 网络收发包PPS是指云服务器每秒可以处理的网络数据包数量 单位是PPS即packets per second每秒发包数量 阿里云百科来详细说下阿里云服务器网络收发包PPS性能
  • 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码

    Unity学习笔记 Unity中文课堂教程 C 中级编程代码 最近想补一补C 基础 Unity官方的C 中级编程教程质量很高 于是开个帖子把跟着敲 记录了部分价讲解和我自己的理解的代码存在这 原课程链接 添加链接描述 https www b
  • s3c2440上的nor flash启动与nand flash启动的区别

    nor flash启动与nand flash启动的区别 1 接口区别 NOR FLASH地址线和数据线分开 来了地址和控制信号 数据就出来 NAND Flash地址线和数据线在一起 需要用程序来控制 才能出数据 通俗的说 就是光给地址不行
  • vue基础之组件化及父子间通信

    基本组件拆分和嵌套 为了不是项目看起来复杂难懂 所以我们采用组件化开发 所有的组件单独放 在需要使用的地方嵌套即可 app vue
  • Vue组件嵌套和组件通信

    一 组件嵌套 组件嵌套 在一个组件中使用另一个组件 div div
  • Lodash中的_.cloneDeep(value) 深拷贝和_.clone(value) 浅拷贝

    Lodash 是一个一致性 模块化 高性能的 JavaScript 实用工具库 cloneDeep value 这个方法类似 clone 除了它会递归拷贝 value 注 也叫深拷贝 参数 value 要深拷贝的值 返回 返回拷贝后的值 例
  • 距离计算方法-聚类

    k 均值聚类算法的性能会受到所选距离计算方法的影响 所以 今天总结了一下有关距离计算的一些总结 如有错误 望大家指正 1 欧式距离是大家最熟悉的了 比如两点之间的距离的计算 可以写成向量的运算形式 工程中用的最多 2 曼哈顿距离 Manha
  • TypeScript学习(Never、辨析联合类型、索引签名)

    Never 程序语言的设计确实应该存在一个底部类型的概念 当你在分析代码流的时候 这会是一个理所当然存在的类型 TypeScript 就是这样一种分析代码流的语言 因此它需要一个可靠的 代表永远不会发生的类型 never 类型是 TypeS
  • 黑客常用的攻击手段

    黑客攻击手段分为非破坏性攻击和破坏性攻击两大类 非破坏性攻击一般只是为了扰乱系统的运行 并不盗窃系统资料 通常采用拒绝服务攻击或信息炸弹 破坏性攻击是以入侵他人电脑系统 盗窃系统保密信息 破坏目标系统的数据为目的的 下面介绍黑客常用的几种攻
  • YARN原理总结

    问题导读 1 hadoop1 x中mapreduce框架与yarn有什么共同点 2 它们有什么不同点 3 yarn中有哪些改变 4 yarn中有哪些术语 yarn是比较难懂的一个地方 也是很重要的一个组件 不止hadoop使用yarn sp
  • 局域网计算机无法配置网关,在内网中,为什么不设置“默认网关”计算机也能互相通讯?...

    在内网中不设置 默认网关 的计算机也能互相通讯 是因为在同一内网 同一VLAN同一子网 中两台计算机机之间是不需要通过默认网关来通信的 是通过交换机 或路由器 上的列表来匹配进行数据传输的 下面讲一下这样子的通信原理 一 PC A向PC C
  • 关键路径例题图表_计算题专题:关键路径法(CPM)

    关键路径法 Critical Path Method CPM 通过分析项目过程中哪个活动序列进度安排的总时差最少来预测项目工期的网络分析 产生目的 为了解决 在庞大而复杂的项目中 如何合理而有效地组织人力 物力和财力 使之在有限资源下以最短
  • 只出现一次的数字 LeetCode C++

    目录 题目描述 方法一 vector 方法二 set 方法三 异或 题目描述 给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 说明 你的算法应该具有线性时间复杂度 你可以不使用额外空间来
  • 爆库原理剖析

    一 方式 暴库的方式有多种多样 我知道的就有3种以上 常见的暴的方法有 5c类暴 conn asp暴 ddos暴等等 二 原理 5c 暴库法 它不是网页本身的漏洞 而是利用了 解码方式中的一个特性 如果 安全设置不周全 而网页设计者未考虑
  • 解决seaborn无法加载数据集错误

    欢迎关注笔者的微信公众号 问题描述 因研究需要 今天在了解seaborn 这个可视化框架 但是在第一行代码就报错了 好嘛 看看啥错 看到这我就知道大概啥问题了 国内网络对国外的网站很不友好 解决方案 解决方法也很简单 主要有以下三种 ke
  • 关于win7下styleSheet设置不成功

    为 QTreeWidget 设置 style sheet 当使用下面的语句时 在 Windows Vista 和 Windows 7 下是失败的 QTreeWidget selection background color rgb 51 1
  • Java怎样求解n的阶乘 n!(详解)

    n 是表示为自然数n的阶乘 即 n 1 2 3 n 2 n 1 n 如 9 9 8 7 6 5 4 3 2 1 阶乘也可以递归方式定义 0 1 n n 1 n 希望对您有所帮助 具体代码实现 import java util Scanner