「Mac玩转仓颉内测版34」PTA刷题篇13 - L1-013 计算阶乘和

2024-11-25 20:05:12
25次阅读
0个评论
最后修改时间:2024-11-26 18:58:52

本篇将讲解PTA平台上的题目 L1-013 计算阶乘和,通过对阶乘运算的实现,进一步提升Cangjie编程语言的循环控制与数学运算能力。


关键词
  • PTA刷题
  • 阶乘计算
  • 数学运算
  • 循环控制
  • Cangjie语言

一、L1-013 计算阶乘和

题目描述:给定一个正整数 n,计算并输出 1! + 2! + ... + n! 的值。

  • 输入格式:输入包含一个正整数 n,其中 1 ≤ n ≤ 12

  • 输出格式:输出阶乘和的计算结果。


解题思路
  1. 阶乘的定义:阶乘是从 1 乘到 n,即 n! = n * (n-1) * (n-2) * ... * 1。可以使用循环逐个计算每个数的阶乘。
  2. 阶乘和的计算:题目要求计算多个阶乘的和,即 1! + 2! + ... + n!
  3. 处理输入:从标准输入读取 n,并依次计算 1 到 n 的阶乘,然后将这些阶乘相加。
  4. 循环计算:利用嵌套循环计算每个数的阶乘,并将它们累加求和。

代码实现
package cjcDemo

import std.console.*
import std.convert.*

main(): Int64 {
    // 输入正整数 n
    let n = Int64.parse(Console.stdIn.readln().getOrThrow())
    var factorialSum = 0  // 用于存储阶乘和

    // 计算阶乘和
    for (i in 1..=n) {
        var factorial = 1
        for (j in 1..=i) {
            factorial *= j  // 计算 i 的阶乘
        }
        factorialSum += factorial  // 累加每个阶乘的结果
    }

    // 输出阶乘和的结果
    println(factorialSum)

    return 0
}

代码详解
  1. 外层循环:遍历从 1 到 n 的整数,依次计算每个整数的阶乘。
  2. 内层循环:计算每个数的阶乘,即通过从 1 到当前数进行连乘,得到阶乘值。
  3. 累加计算:每次计算出一个数的阶乘后,将其加到 factorialSum 中,最后输出累加结果。

示例执行

示例 1
输入:

3

输出:

9

解释:1! + 2! + 3! = 1 + 2 + 6 = 9)

示例 2
输入:

5

输出:

153

解释:1! + 2! + 3! + 4! + 5! = 1 + 2 + 6 + 24 + 120 = 153)


小结

本篇通过实现 L1-013 计算阶乘和 题目,进一步提升了对阶乘运算的理解和实现能力。通过使用嵌套循环,我们能够高效地计算多个阶乘并累加结果。这一题目巩固了Cangjie语言中循环控制和数学运算的基本技能。


下篇预告

下一篇将进入 「Mac玩转仓颉内测版35」PTA刷题篇14 - L1-014 简单题,通过基本的输入输出操作,巩固Cangjie语言的基础知识,敬请期待!


上一篇: 「Mac玩转仓颉内测版33」PTA刷题篇12 - L1-012 计算指数

下一篇: 「Mac玩转仓颉内测版35」PTA刷题篇14 - L1-014 简单题


作者:SoraLuna 链接:https://www.nutpi.net 來源:坚果派 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


收藏00

登录 后评论。没有帐号? 注册 一个。