「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 求整数段和
题目描述:给定两个整数 A 和 B,要求计算从 A 到 B(包括 A 和 B)之间所有整数的和。
- 输入格式:在一行中输入两个整数 A 和 B。
- 输出格式:输出从 A 到 B 之间所有整数的和,格式为 Sum = 和。
解题思路
- 区间求和:无论 A 是否小于 B,都需要从 A 到 B 或者从 B 到 A 进行求和,确保顺序处理。
- 循环求和:使用循环对区间内的整数进行累加。
- 格式化输出:按题目要求,每 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
}
代码详解
- 区间顺序确定:如果 A 大于 B,通过交换 A 和 B 来保证从小到大的顺序进行求和,确保无论输入顺序如何,结果都正确。
- 循环累加:遍历从 start 到 end 的所有整数,并将它们累加起来。
- 格式化输出:每输出 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
- 0回答
- 1粉丝
- 0关注
相关话题
- 「Mac玩转仓颉内测版10」PTA刷题篇1 - L1-001 Hello World
- 「Mac玩转仓颉内测版11」PTA刷题篇2 - L1-002 打印沙漏
- 「Mac玩转仓颉内测版15」PTA刷题篇6 - L1-006 连续因子
- 「Mac玩转仓颉内测版16」PTA刷题篇7 - L1-007 念数字
- 「Mac玩转仓颉内测版14」PTA刷题篇5 - L1-005 考试座位号
- 「Mac玩转仓颉内测版18」PTA刷题篇9 - L1-009 N个数求和
- 「Mac玩转仓颉内测版19」PTA刷题篇10 - L1-010 比较大小
- 「Mac玩转仓颉内测版20」PTA刷题篇11 - L1-011 A-B
- 「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计
- 「Mac玩转仓颉内测版13」PTA刷题篇4 - L1-004 计算摄氏温度
- 「Mac玩转仓颉内测版8」入门篇8 - Cangjie函数与方法
- 「Mac玩转仓颉内测版1」入门篇1 - Cangjie环境的搭建
- 「Mac玩转仓颉内测版21」基础篇1 - 仓颉程序的基本组成
- 「Mac玩转仓颉内测版9」入门篇9 - 综合案例篇
- 「Mac玩转仓颉内测版4」入门篇4 - Cangjie变量命名规则