「Mac玩转仓颉内测版17」PTA刷题篇8 - L1-008 求整数段和

2024-11-17 21:17:03
10次阅读
0个评论
最后修改时间:2024-11-17 21:20:45

本篇将继续讲解PTA平台上的题目 L1-008 求整数段和,通过对整数区间的求和,进一步提升Cangjie编程语言的循环操作与数学计算能力。


关键词
  • PTA刷题
  • 数字区间
  • 循环求和
  • 数学运算
  • Cangjie语言

一、L1-008 求整数段和

题目描述:给定两个整数 AB,要求计算从 AB(包括 AB)之间所有整数的和。

  • 输入格式:在一行中输入两个整数 AB
  • 输出格式:输出从 AB 之间所有整数的和,格式为 Sum = 和

解题思路
  1. 区间求和:无论 A 是否小于 B,都需要从 AB 或者从 BA 进行求和,确保顺序处理。
  2. 循环求和:使用循环对区间内的整数进行累加。
  3. 格式化输出:按题目要求,每 5 个数字换一行,最后输出区间和。

代码实现
package cjcDemo

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

// 计算整数区间和
func calculateSum(A: Int64, B: Int64): Int64 {
    var sum = 0
    var start = A
    var end = B

    // 确定正确的起点和终点
    if (A > B) {
        start = B
        end = A
    }

    var count = 0
    // 遍历区间并累加
    for (i in start..end + 1) {
        // 在打印第 6 个数时换行
        if ((count % 5 == 0) && (count > 0)) {
            println('')
        }

        // 格式化输出每个数字,并每 5 个换一行
        print("${i.format('5.0')}")
        count++
        sum += i
    }

    return sum
}

main(): Int64 {
    // 输入两个整数 A 和 B
    let input = Console.stdIn.readln().getOrThrow().split(" ")
    let A = Int64.parse(input[0])
    let B = Int64.parse(input[1])

    // 计算整数区间和
    let result = calculateSum(A, B)

    // 输出结果
    println("\nSum = ${result}")

    return 0
}

代码详解
  1. 区间顺序确定:如果 A 大于 B,通过交换 AB 来保证从小到大的顺序进行求和,确保无论输入顺序如何,结果都正确。
  2. 循环累加:遍历从 startend 的所有整数,并将它们累加起来。
  3. 格式化输出:每输出 5 个整数时进行换行,使结果显示更加整齐,并确保区间和的正确性。

示例执行

示例 1
输入:

5 1

输出:

    1    2    3    4    5
Sum = 15

示例 2
输入:

1 10

输出:

    1    2    3    4    5
    6    7    8    9   10
Sum = 55

示例 3
输入:

-3 8

输出:

   -3   -2   -1    0    1
    2    3    4    5    6
    7    8
Sum = 30

通过这些示例,程序能够正确地处理不同范围的整数求和,并按照格式化要求输出结果。


小结

本篇通过实现 PTA 题目 L1-008 求整数段和,练习了循环控制结构和区间运算,强化了Cangjie语言的数学运算和格式化输出能力。在处理区间和时,通过合理的循环结构解决了正反区间的求和问题。


下篇预告

下一篇将继续进行PTA刷题,讲解 L1-009 N个数求和 的解题思路与实现,敬请期待 「Mac玩转仓颉内测版18」PTA刷题篇9 - L1-009 N个数求和


上一篇: 「Mac玩转仓颉内测版16」PTA刷题篇7 - L1-007 念数字

下一篇: 「Mac玩转仓颉内测版18」PTA刷题篇9 - L1-009 N个数求和


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


收藏00

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