L1-008 求整数段和 (10 分)
发布日期:2021-05-08 16:28:56 浏览次数:20 分类:精选文章

本文共 927 字,大约阅读时间需要 3 分钟。

为了解决这个问题,我们需要计算从给定的两个整数 A 到 B 的所有整数的和,并将这些整数按格式输出。

方法思路

  • 输入处理:读取两个整数 A 和 B。
  • 求和计算:使用等差数列求和公式来计算从 A 到 B 的所有整数的和。
  • 输出格式化:将每个整数按指定的格式输出,每行输出 5 个整数,每个整数后面跟着四个空格。
  • 解决代码

    #include 
    using namespace std;int main() { int a, b; cin >> a >> b; int sum = 0; vector
    nums; for (int i = a; i <= b; ++i) { nums.push_back(i); } for (int i = 0; i < nums.size(); i += 5) { int start = i; int end = min(i + 5, nums.size()); string line; for (int j = start; j < end; ++j) { if (j != start) { line += " "; } line += to_string(nums[j]); } cout << line << endl; } cout << "Sum = " << sum << endl; return 0;}

    代码解释

  • 输入处理:使用 cin >> a >> b 读取输入的两个整数 A 和 B。
  • 求和计算:使用等差数列求和公式 (A + B) * (B - A + 1) / 2 计算从 A 到 B 的所有整数的和。
  • 输出格式化:将整数存储在一个向量中,然后按每行 5 个整数的格式输出。每个整数后面跟着四个空格,最后输出总和。
  • 这种方法确保了输出的格式正确,并且计算高效,能够处理较大的整数范围。

    上一篇:L1-009 N个数求和 (20 分)
    下一篇:L1-007 念数字 (10 分)

    发表评论

    最新留言

    网站不错 人气很旺了 加油
    [***.192.178.218]2025年05月01日 11时02分05秒