)将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t,其高位仍在高位,低位仍在低位。例如,s= 87653142时,t中的数为8642
时间: 2024-05-13 22:20:11 浏览: 115
非常感谢您的问题!根据您的要求,我可以回答您的问题。以下是我生成的代码:
```python
s = 87653142
t = 0
pos = 1
while s > 0:
digit = s % 10
if digit % 2 == 0:
t += digit * pos
pos *= 10
s //= 10
print(t)
```
代码的实现很简单:从数字`s`的个位数开始,逐位检查是否为偶数,如果是,则将其加入到结果数字`t`中。最后根据每个偶数的位置重新构造`t`的数字,就可以得到最终的结果。希望能够对您有所帮助!如果您有任何其他问题,欢迎随时联系我。
相关问题
将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t,其高位仍在高位,低位仍在低位
,请问如何实现?
可以将长整型数s转换为字符串str,然后遍历字符串中的每一位,判断其是否为偶数,如果是则将其加入到一个新的字符串中。最后将新的字符串转换为一个长整型数就可以得到新数t。以下是具体实现代码:
```python
s = 123456789
str_s = str(s)
str_t = ''
for c in str_s:
if int(c) % 2 == 0:
str_t += c
t = int(str_t)
print(t)
```
输出结果为2468。
将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t,其高位仍在高位,低位仍在低位,
但是中间不含任何奇数。如果s中没有偶数,则t为0。
例如,若s=123456789,则t=2468;若s=13579,则t=0。
代码实现:
```python
def even_digits(s):
# 将长整型数s转换为字符串
s_str = str(s)
# 初始化新数t为0
t = 0
# 遍历s的每一位数位上的数字
for digit in s_str:
# 如果该数字是偶数,则将其加入新数t的末尾
if int(digit) % 2 == 0:
t = t * 10 + int(digit)
return t
```
测试代码:
```python
s1 = 123456789
s2 = 13579
s3 = 24680
print(even_digits(s1)) # 输出 2468
print(even_digits(s2)) # 输出 0
print(even_digits(s3)) # 输出 24680
```
阅读全文