l1-008 求整数段和 (10 分)
时间: 2023-04-24 09:05:42 浏览: 55
题目描述
本题要求对一个整数段中的整数进行求和。
输入格式:
输入在一行中给出两个整数 $A$ 和 $B$,其中 $-100≤A≤B≤100$。
输出格式:
在一行中输出整数段 $[A,B]$ 中所有整数的和。
输入样例:
-3 8
输出样例:
30
解题思路
本题要求对一个整数段中的整数进行求和,可以用循环来实现。先输入两个整数 $A$ 和 $B$,然后用 for 循环遍历整数段 $[A,B]$ 中的所有整数,将它们累加到一个变量 sum 中,最后输出 sum 即可。
参考代码
C++ 代码
#include <iostream>
using namespace std;
int main() {
int A, B, sum = ;
cin >> A >> B;
for (int i = A; i <= B; i++) {
sum += i;
}
cout << sum << endl;
return ;
}
Python 代码
A, B = map(int, input().split())
sum =
for i in range(A, B+1):
sum += i
print(sum)
相关问题
l1-008 求整数段和
题目描述
输入两个整数n和m,从数列1,2,3.......n中取出满足以下条件的所有数的和:
1、不能被5整除;
2、不能被6整除;
3、不能被7整除。
输入格式
两个整数n和m,其中1<=n<=m<=30000。
输出格式
输出一个整数,表示所求的和。
输入样例
10 20
输出样例
57
提示
本题有多组输入数据,注意循环输入。
算法1
(暴力枚举) $O(n)$
直接枚举每个数,判断是否满足要求,然后累加即可。
时间复杂度
枚举每个数需要O(n),因此总时间复杂度为O(n)。
C++ 代码
算法2
(暴力枚举) $O(n)$
将条件1、2、3的约束合并,得到一个新的约束条件:不能被5、6、7的最小公倍数整除。因此,我们只需要求出5、6、7的最小公倍数lcm,然后枚举每个数,判断是否满足要求即可。
时间复杂度
求最小公倍数需要O(logn)的时间,枚举每个数需要O(n)的时间,因此总时间复杂度为O(nlogn)。
C++ 代码
l1-008 求整数段和python
可以使用Python的for循环和range函数来求整数段和,示例代码如下:
```python
start, end = map(int, input().split())
sum = 0
for i in range(start, end+1):
sum += i
print(sum)
```
输入格式为起始整数和结束整数,用空格隔开。输出为整数段的和。注意:输入格式必须按照要求输入,否则程序可能会出错。