题解 | n的阶乘

n的阶乘

https://www.nowcoder.com/practice/97be22ee50b14cccad2787998ca628c8

#include <iostream>
#include<vector>
#include<string>
using namespace std;

vector<int> multiply(vector<int>a, int b) {
    vector<int>c;
    int t = 0;//进位
    //进位不为0时循环不能停,别忘了
    for (int i = 0; i < a.size()||t; i++) {
        if(i<a.size())
            t += a[i] * b;
        c.push_back(t % 10);
        t /= 10;
    }
    return c;

}
int main() {
    //高精度是倒着存
    vector<int>a;
    string str;
    int n;
    cin >> n;
    // str=to_string(n);
    // for(int i=str.size()-1;i>=0;i--){
    //         a.push_back(str[i]);
    // }
    a.push_back(1);
    for (int i = n; i > 0; i--) {
        a = multiply(a, i);
    }
    for (int i = a.size() - 1; i >= 0; i--)
        cout << a[i];


}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

丿南烟丶:黑白模板吧,不要这样花哨的。 主要成就太空了,和获奖融在一起,写一两行就行了。 职业技能不要这样排,就传统的掌握精通什么什么然后举例补充的一些重要技术点。 自我介绍说实话也没啥用,可以删了。 把自己的两个项目方案细节补充上去,为什么这样设计,怎么设计,成果是什么按star法则来写 你要引导面试官来问你的技能和项目,你的获奖和自我介绍别人可能看都不看一眼或者不太在乎,重要的是展示你能干活的能力
点赞 评论 收藏
分享
赛博小保安:你这简历没啥大问题的,经历技能也足够了,问题应该就是出在出身了,学院本就是这样,HR忙着跟92的勾搭呢,哪有心思看我们这些双非😿😭
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务