在Python中查找最接近n的所有数字都是奇数的数字
假设我们有一个数字n,我们必须找到下一个最接近的所有数字都是奇数的值。当有两个值同时最接近n时,请返回较大的值。
因此,如果输入为n = 243,则输出将为199。
要解决此问题,请按如下步骤操作−
- first_even := -1
- s := 将n转换为字符串
- l := s的长度
- 对于i在0到l的范围内,执行以下操作
- 如果s[i]是偶数,则
- first_even := i
- 退出循环
- 如果s[i]是偶数,则
- 如果first_even与-1相同,则
- 返回n
- big := s [索引0到i的数字值] + 1
- 如果s[i]等于”0″,则
- 如果s[i – 1]等于”1″,则
- small := s [从索引0到i的数字值] – 1
- 否则,
- small := s [从索引0到i的数字值] – 11
- 如果s[i – 1]等于”1″,则
- 否则,
- small := s [从索引0到i的数字值] – 1
- 对于i在i + 1到l的范围内,执行以下操作
- big := big连接”1″
- small := small连接”9″
- big := big的数字值,small := small的数字值
- d2 := big – n,d1 := n – small
- 如果d1<d2,则
- 返回 small
- 否则,当d1≥d2时,则
- 返回big
请看以下实现以更好地理解−
更多Python相关文章,请阅读:Python 教程