题目要求输入两个整数a和b,输出a到b之间的所有奇数以及这些奇数之和。用cpp实现
时间: 2024-05-08 10:21:06 浏览: 20
下面是代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int sum = 0;
for (int i = a; i <= b; i++) {
if (i % 2 == 1) {
cout << i << " ";
sum += i;
}
}
cout << endl << "奇数之和为:" << sum << endl;
return 0;
}
```
首先读入输入的两个整数 a 和 b,然后使用 for 循环遍历 a 到 b 的所有数字,判断每个数字是否为奇数,如果是,则输出该数字,并将其加入到奇数之和的 sum 中。最后输出奇数之和。
相关问题
输入两个整数a和b,计算[a,b]区间内所有奇数的和。不保证a<=b。
算法1:暴力枚举
从a到b依次遍历,如果当前数是奇数,则加入和中,最后返回和即可。
时间复杂度:O(b-a)
空间复杂度:O(1)
算法2:数学公式
首先判断a和b的奇偶性,如果a为偶数,则将a加1变为奇数,如果b为偶数,则将b减1变为奇数。然后,奇数序列的首项为a,公差为2,末项为b,根据等差数列求和公式,可以直接计算出答案。
时间复杂度:O(1)
空间复杂度:O(1)
C++代码:
算法1:
```cpp
int sumOdd(int a, int b) {
int sum = 0;
for (int i = a; i <= b; i++) {
if (i % 2 == 1) {
sum += i;
}
}
return sum;
}
```
算法2:
```cpp
int sumOdd(int a, int b) {
if (a > b) {
swap(a, b);
}
if (a % 2 == 0) {
a++;
}
if (b % 2 == 0) {
b--;
}
int n = (b - a) / 2 + 1;
return n * (a + b) / 2;
}
```
C++求1~n所有整数中不是3的倍数的奇数之和,输入n,输出sum
好的,可以使用以下代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, sum = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
if (i % 3 != 0 && i % 2 == 1) {
sum += i;
}
}
cout << sum << endl;
return 0;
}
```
这段代码会提示用户输入n,然后使用循环遍历1到n的所有整数,判断是否是3的倍数和奇数,如果不是3的倍数且是奇数,则将它累加到一个变量sum中。最后输出sum的值,即为1到n所有整数中不是3的倍数的奇数之和。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)