l1-008 求整数段和 (10分)
给定两个整数 \(a\) 和 \(b\),输出从 \(a\) 到 \(b\) 的所有整数以及这些数的和。
输入格式:
输入在一行中给出 \(2\) 个整数 \(a\) 和 \(b\),其中 \(−100 \leqslant a \leqslant b \leqslant 100\),其间以空格分隔。
输出格式:
首先顺序输出从 \(a\) 到 \(b\) 的所有整数,每 \(5\) 个数字占一行,每个数字占 \(5\) 个字符宽度,向右对齐。最后在一行中按 sum = x
的格式输出全部数字的和 x
。
输入样例:
-3 8
输出样例:
-3 -2 -1 0 1 2 3 4 5 6 7 8 sum = 30
代码:
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll a,b; int main() { cin>>a>>b; for(ll i=a;i<=b;i++) { cout<<setw(5)<<setfill(' ')<<i; if((i-a+1)%5==0)cout<<endl; } if((b-a+1)%5)cout<<endl; cout<<"sum = "<<(a+b)*(b-a+1)/2<<endl; return 0; }