美文网首页
高精度整数——2. N的阶乘

高精度整数——2. N的阶乘

作者: 辘轳鹿鹿 | 来源:发表于2020-07-05 16:05 被阅读0次

清华大学研究生复试n的阶乘问题

题目描述

输入一个整数n,输出n的阶乘(每组测试用例可能包含多组数据,请注意处理)

输入描述:

一个整数n(1<=n<=20)

输出描述:

n的阶乘

示例1

输入

3

输出

6</pre>

解题心得:

  • 高精度乘法的原理与高精度加法类似,用将要乘的小乘数来乘高精度整数的每一位数并加上来自低位的进位,从而得到该位的结果以及向高位的进位。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>


typedef struct bigInteger{
    int digit[1001];
    int size;
}bigInteger;

int main(){

    int a;
    while(scanf("%d",&a)!=EOF){
        bigInteger A;
        int i,j;
        A.size=1;
        A.digit[0]=1;

        for(i=1;i<1001;i++){
            A.digit[i]=0;
        }



        int carry=0,tmp;

        for(j=1;j<=a;j++){
            carry=0;
            for(i=0;i<A.size;i++){
                tmp=A.digit[i]*j+carry;
                carry=tmp/10000;
                A.digit[i]=tmp%10000;
            }
            if(carry>0){
             A.digit[A.size++]=carry;
        }
        }


        for(i=A.size-1;i>=0;i--){
            if(i==A.size-1){
                printf("%d",A.digit[i]);

            }
            else{
                printf("%04d",A.digit[i]);
            }
        }
        printf("\n");


    }

    return 0;

}


方若棋盘,圆若棋子,动若棋生,静若棋死
方若行义,圆若用智,动若聘才,静若得意

相关文章

  • 高精度整数——2. N的阶乘

    清华大学研究生复试n的阶乘问题 题目描述 输入一个整数n,输出n的阶乘(每组测试用例可能包含多组数据,请注意处理)...

  • Factorialize a Number

    计算一个整数的阶乘 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。 阶乘通常简写成 n!

  • FCC-JS-BAS-Factorialize a Number

    计算一个整数的阶乘 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。 阶乘通常简写成 n! 例...

  • FCC - 253 计算一个整数的阶乘

    计算一个整数的阶乘 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。 阶乘通常简写成 n! 例...

  • javascript递归算法计算一个数的阶乘

    计算一个整数的阶乘 如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。 阶乘通常简写成 n! 例...

  • 阶乘算法的实现

    计算所提供整数的阶乘。 如果使用字母n代表一个整数,则阶乘是所有小于或等于n的整数的乘积。阶乘通常简写成 n!例如...

  • 发现一些JS基础算法问题?与大家分享一下

    1.实战翻转字符串算法 2.计算所提供整数的阶乘。 如果使用字母n代表一个整数,则阶乘是所有小于或等于n的整数的乘...

  • FreeCodeCamp:计算一个整数的阶乘 (Factoria

    题目:计算一个整数的阶乘如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。阶乘通常简写成n!例如...

  • JavaScript pratice2

    问题描述: 计算所提供整数的阶乘。如果使用字母n代表一个整数,则阶乘是所有小于或等于n的整数的乘积。阶乘通常简写成...

  • 计算一个整数的阶乘

    如果用字母n来代表一个整数,阶乘代表着所有小于或等于n的整数的乘积。 阶乘通常简写成 n! 例如: 5! = 1 ...

网友评论

      本文标题:高精度整数——2. N的阶乘

      本文链接:https://www.haomeiwen.com/subject/vbjvqktx.html