题解 | #学英语#

学英语

https://www.nowcoder.com/practice/1364723563ab43c99f3d38b5abef83bc

num1 = [
    "zero",
    "one",
    "two",
    "three",
    "four",
    "five",
    "six",
    "seven",
    "eight",
    "nine",
    "ten",
    "eleven",
    "twlelev",
    "thirteen",
    "fourteen",
    "fifteen",
    "sixteen",
    "seventeen",
    "eighteen",
    "nineteen",
]
num2 = [
    0,
    0,
    "twenty",
    "thirty",
    "forty",
    "fifty",
    "sixty",
    "seventy",
    "eighty",
    "ninety",
]


def f100(n):  # 22
    if n > 0:
        if n < 20:
            word.append(num1[n])
        else:  # n>20
            word.append(num2[n // 10])
            if n % 10 != 0:  # n%10 表示的是余数
                word.append(num1[n % 10])


def f1000(n):
    if n >= 100:
        word.append(num1[n // 100])
        word.append("hundred")
        if n % 100 != 0:
            word.append("and")
    f100(n % 100)


n = int(input())
word = []
# 以下这些都是余数
a = n % 1000
b = (n // 1000) % 1000
c = (n // 1000000) % 1000
d = (n // 1000000000) % 1000

if d > 0:
    f1000(d)
    word.append("billion")
if c > 0:
    f1000(c)
    word.append("million")
if b > 0:
    f1000(b)
    word.append("thousand")
if a > 0:
    f1000(a)
print(*word)

全部评论

相关推荐

牛客611297800号:下去沉淀沉淀吧
点赞 评论 收藏
分享
01-07 15:50
四川大学 Java
明远湖摸鱼:同年级的同学,,简历可以大一点,这个有点太密集了,实习技术可以量化的尽量量化
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务