- 1
- 0
- 约8.13千字
- 约 24页
- 2026-03-19 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为研发工程师面试指南与问题集
一、编程基础(5题,每题10分,共50分)
1.题目:
实现一个函数,输入一个正整数`n`,返回`n`的阶乘。要求不使用递归,且考虑大数问题(例如`n=100`)。
答案与解析:
cpp
includevector
usingnamespacestd;
vectorintfactorial(intn){
vectorintresult(1000,0);//存储每一位数字
result[0]=1;
intcarry=0;
for(inti=1;i=n;++i){
carry=0;
for(intj=0;jresult.size();++j){
inttemp=result[j]i+carry;
result[j]=temp%10;
carry=temp/10;
}
//处理进位
intk=result.size()-1;
while(carry0k=0){
temp=result[k]+carry;
result[k]=temp%10;
carry=temp/10;
--k;
}
if(carry0){
result.insert(re
原创力文档

文档评论(0)