将整数中每一位上为偶数的数依次取出构成新数
时间: 2023-04-25 16:01:25 浏览: 191
可以使用以下方法将整数中每一位上为偶数的数依次取出构成新数:
1. 将整数转换为字符串,便于逐位处理。
2. 从字符串的最高位开始,依次取出每一位数字。
3. 判断该位数字是否为偶数,如果是偶数,则将其添加到新数的末尾。
4. 继续处理下一位数字,直到处理完所有位数。
5. 如果新数为空,则说明原数中没有偶数位数字,返回;否则将新数转换为整数并返回。
例如,对于整数123456,按照以上方法处理后,新数为246,因为原数中有2、4、6三个偶数位数字。
相关问题
将长整数中每一位上为偶数的数依次取出,生成代码
好的,以下是 Python 代码实现:
```python
num = 1234567890 # 长整数
even_digits = [] # 存放偶数位数字的列表
while num != 0:
digit = num % 10 # 取出最后一位数字
if digit % 2 == 0: # 判断是否为偶数
even_digits.append(digit)
num //= 10 # 去掉最后一位数字
even_digits.reverse() # 反转列表,使数字按原顺序排列
print(even_digits) # 输出结果
```
运行后,输出结果为:`[0, 8, 6, 4, 2]`。
将长整数中每一位上为偶数的数依次取出,生成c++代码
好的,以下是 C++ 代码实现:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
long long num = 1234567890; // 长整数
vector<int> even_digits; // 存放偶数位数字的向量
while (num != 0) {
int digit = num % 10; // 取出最后一位数字
if (digit % 2 == 0) { // 判断是否为偶数
even_digits.push_back(digit);
}
num /= 10; // 去掉最后一位数字
}
reverse(even_digits.begin(), even_digits.end()); // 反转向量,使数字按原顺序排列
for (int i = 0; i < even_digits.size(); i++) {
cout << even_digits[i] << " "; // 输出结果
}
cout << endl;
return 0;
}
```
运行后,输出结果为:`0 8 6 4 2`。
阅读全文