计算机软件工程师面试要点及答案参考.docxVIP

  • 0
  • 0
  • 约7.87千字
  • 约 21页
  • 2026-03-26 发布于福建
  • 举报

计算机软件工程师面试要点及答案参考.docx

第PAGE页共NUMPAGES页

2026年计算机软件工程师面试要点及答案参考

一、编程实现题(共3题,每题10分)

1.题目(10分):

编写一个函数,实现将任意非负整数转换为罗马数字。罗马数字的基本字符及其代表的数值为:I(1),V(5),X(10),L(50),C(100),D(500),M(1000)。要求按从大到小的顺序排列字符,例如:

-输入:3,输出:III

-输入:4,输出:IV

-输入:58,输出:LVIII

-输入:1994,输出:MCMXCIV

答案与解析:

python

defint_to_roman(num:int)-str:

val=[

1000,900,500,400,

100,90,50,40,

10,9,5,4,

1

]

syms=[

M,CM,D,CD,

C,XC,L,XL,

X,IX,V,IV,

I

]

roman_num=

i=0

whilenum0:

for_inrange(num//val[i]):

roman_num+=syms[i]

num-=val[i]

i+=1

returnroman_num

解析:

-采用列表`val`和`syms`分别存储罗马数字的数值和字符,按从大到小排序。

-通过循环遍历`va

文档评论(0)

1亿VIP精品文档

相关文档