欧拉工程第17题 用英文写出1到1000的所有数字需要多少个字母

题目

如果用英文写出数字1到5: one, two, three, four, five, 那么一共需要3 + 3 + 5 + 4 + 4 = 19个字母。

如果数字1到1000(包含1000)用英文写出,那么一共需要多少个字母?

注意: 空格和连字符不算在内。例如,342 (three hundred and forty-two)包含23个字母; 115 (one hundred and fifteen)包含20个字母。”and” 的使用与英国标准一致。

解题方法

英文数字的表示

  • 1~20

    1. one
    2. two
    3. three
    4. four
    5. five
    6. six
    7. seven
    8. eight
    9. nine
    10. ten
    11. eleven
    12. twelve
    13. thirteen
    14. fourteen
    15. fifteen
    16. sixteen
    17. seventeen
    18. eighteen
    19. nineteen
  • 21~99

    • 20 twenty
    • 2X twenty-X
    • 30 thirty
    • 3X thirty-X
    • 40 forty
    • 50 fifty
    • 60 sixty
    • 70 seventy
    • 80 eighty
    • 90 ninety
    • 讲解:除1-19是特定的表达外,20~99这些数字,除整十的数如上表达外,其余的都是先取整十数在加横线加各位数字。如28的英文表达为twenty-eight。62的英文表达为sixty-
  • 100~1000
    • 100 one hundred
    • 10X one hundred and X (X代表一位数的英文表示)
    • 102 one hundred and two
    • 1XX one hundred and XX (XX代表两位数的英文表示)
    • 122 one hundred and twenty-two
    • AXX A hundred and XX
    • 1000 one thousand

方法1-笔算

1-9的字母数,为 3+3+5+4+4+3+5+5+4=36
10-19的字母数,为 3+6+6+8+8+7+7+9+8+8=70
20-29的字母数,为 6×10+36=96
30-39的字母数,为 6×10+36=96
40-49的字母数,为 5×10+36=86
50-59的字母数,为 5×10+36=86
60-69的字母数,为 5×10+36=86
70-79的字母数,为 7×10+36=106
80-89的字母数,为 6×10+36=96
90-99的字母数,为 6×10+36=96

所以1-99的字母数,为 36+70+96×4+86×3+106=854

100-199的字母数,为 (3+7)×100+3×99+854=2151
200-299的字母数,为 (3+7)×100+3×99+854=2151
300-399的字母数,为 (5+7)×100+3×99+854=2351
400-499的字母数,为 (4+7)×100+3×99+854=2251
500-599的字母数,为 (4+7)×100+3×99+854=2251
600-699的字母数,为 (3+7)×100+3×99+854=2151
700-799的字母数,为 (5+7)×100+3×99+854=2351
800-899的字母数,为 (5+7)×100+3×99+854=2351
900-999的字母数,为 (4+7)×100+3×99+854=2251
1000的字母数,为 3+8=11

所以1-1000的字母数,为 854+2151×3+2251×3+2351×3+11=21124

方法2-编程

编程实现两个函数,一个将整数转为英文表示,第二个函数实现统计这个英文表示有几个字母。

代码暂时缺失,未来加上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值