李二蛋 发表于 2021-9-25 16:37:00

自己编程回文数新做法,与标准答案有何区别?

本帖最后由 李二蛋 于 2021-9-25 16:40 编辑

我的:
x = int(input("请输入一个正整数:"))

if x < 0 or (x != 0 and x % 10 == 0):
    print("不是回文数。")
else:
    revertedNumber = 0
    temp = x
    while temp > 0:
      revertedNumber = revertedNumber * 10 + temp % 10
      temp //= 10

    if x == revertedNumber:
      print("是回文数。")
    else:
      print("不是回文数。")



标准答案的:
x = int(input("请输入一个正整数:"))

if x < 0 or (x % 10 == 0 and x != 0):
    print("不是回文数。")
else:
    revertedNumber = 0
    while x > revertedNumber:
      revertedNumber = revertedNumber * 10 + x % 10
      x //= 10

    if x == revertedNumber or x == revertedNumber // 10:
      print("是回文数。")
    else:
      print("不是回文数。")


最后判断我不用分奇数偶数,只是中间过程用temp替换x,不污染x

我是全部翻转,12321-12321,但是小甲鱼标准答案是部分翻转,12-123//10
是他的想法更好一些吧?

冬雪雪冬 发表于 2021-9-25 21:01:05

小甲鱼的效率更高些,只计算了一半的位数。
页: [1]
查看完整版本: 自己编程回文数新做法,与标准答案有何区别?