当前位置: 首页 > article >正文

JavaSE习题 求N的阶乘和阶乘和!

目录

  • 1 求N的阶乘
  • 2 求阶乘和

1 求N的阶乘

题目分析:

  1. 它的起始条件为: N = 1 的时候, N! 为 1,这个起始条件相当于递归的结束条件。
  2. 递归公式: 求 N! , 直接不好求, 可以把问题转换成 N! = N * (N-1)!

解题代码如下:

public class test2 {
    public static int fac(int n){
        if(n == 1){
            return 1;
        }
        return n* fac(n-1);
    }
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        System.out.println(fac(n));
    }
}

2 求阶乘和

题目分析: 本题中,我们可以把求一个数字的阶乘定义为一个方法,传入不同的值,求出不同的阶乘,最后进行累加。
解题代码如下:

public class test2 {
       public static int sum(int n){
           int summ = 0;
           for (int i = 1; i <=n; i++) {
               summ += fac(n);
           }
           return summ;
       }
       public static int fac(int n){
           if(n == 1){
               return 1;
           }
           return n* fac(n-1);
       }
       public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
           int n = scanner.nextInt();
           System.out.println(sum(n));
}}

http://www.kler.cn/a/227734.html

相关文章:

  • 【基于SprintBoot+Mybatis+Mysql】电脑商城项目之用户注册
  • 【搞定offer】远程医疗:健康科技领域,搞定医疗offer
  • 16进制(十六进制)和二进制之间的转换
  • .NET Core缓存
  • 从 UTC 日期时间字符串获取 Unix 时间戳:C 和 C++ 中的挑战与解决方案
  • HttpClient学习
  • 3D人体运动重建
  • 【React】react组件传参
  • 微信小程序课设(基于云开发)
  • 蓝桥杯备战(AcWing算法基础课)-高精度-减-高精度
  • 01-Java工厂模式 ( Factory Pattern )
  • node + express 学生信息管理
  • MongoDB复制集实战及原理分析
  • JAVA后端上传图片至企微临时素材
  • C语言如何认识 printf()函数的格式字符?
  • 车载测试Vector工具CANape——常见问题汇总(上)
  • hdf5文件node name长度可以支持多长?
  • Tailwind CSS
  • 第十二篇【传奇开心果系列】Python的OpenCV技术点案例示例:视频流处理
  • 代码随想录训练营第三十四天|860.柠檬水找零406.根据身高重建队列
  • 蓝桥杯刷题day05——2023
  • Leetcode刷题笔记题解(C++):99. 恢复二叉搜索树
  • 【QT+QGIS跨平台编译】之二十:【xerces+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • 寒假 day1
  • 实时聊天系统
  • 网络原理TCP/IP(4)