-4

如何编写程序来查找用户输入的一串数字中的最小奇数?例如:我输入27385,所以 3 是最小的奇数。

4

1 回答 1

1

您可以利用这样一个事实,即在二进制中,当设置了最低位时,数字是奇数,否则它是偶数。由于数字的 ASCII 值几乎是数字本身的直接表示,因此您可以按原样使用它,或者从您正在查看的数字 char 中减去 0x30 以获取二进制数。

伪代码(遍历字符串):

  1. 具有高/不可能值的初始化结果 (0xff)
  2. 读字符
  3. 如果 char == 0 -> jmp 结束
  4. 子 0x30 ; 这并不是真正需要的,取决于预期的输出。
  5. 如果最低位为零 -> jmp 2 ; 数是偶数
  6. 如果数字低于当前最低数字 -> 将其存储为新结果
  7. 跳转 2
  8. 结尾
于 2013-12-08T13:42:10.740 回答