zoukankan      html  css  js  c++  java
  • 阶乘 大数保存

    //  time:20/01/19 23:44

    //digit 控制位数
    //tmp 作为中间变量,数组的每个元素 ×下一个 i 值的时候,保存在tmp里面
    //num 进位的时候,需要用num保存,然后给数组的下一位


    #include <bits/stdc++.h>
    #define M 10010
    using namespace std;

    int arr[M];

    int main(){
        int n,tmp = 1, digit = 1;
        cin>>n;
        arr[0] = 1;
        for(int i = 2; i <= n; i++)
        {
            int num = 0;
            for(int j = 0; j < digit; j++){
                tmp = arr[j] * i + num;
                arr[j] = tmp%10;
                num = tmp/10;
            }
            
            while(num)
            {
                arr[digit] = num%10;
                num /= 10;
                digit++;
            }
            
        }
        
        for(int i = digit - 1; i >= 0; i--){
            cout<<arr[i];
        }
        cout<<endl;
        return 0;
    }

  • 相关阅读:
    Centos6.6部署Redis集群
    贪心算法解+-字符串
    水题记录--排序
    项目总结之HashMap问题
    水题记录--大整数求阶乘
    水题记录--组合数
    水题记录-成绩转换
    水题记录
    简单排序
    数组
  • 原文地址:https://www.cnblogs.com/stul/p/10314410.html
Copyright © 2011-2022 走看看