首页 > 其他 > 详细

TJPU-36 大数阶乘

时间:2017-01-19 21:08:16      阅读:277      评论:0      收藏:0      [点我收藏+]

阶乘计算

发布时间: 2017年1月17日 00:25   时间限制: 1000ms   内存限制: 128M

输入一个正整数n,输出n!的值。 其中n!=1*2*3*…*n。

输入包含一个正整数n,n<=1000。

输出n!的准确值。

 复制
10
3628800

代码:
#include <cstdio>
#define SIZE 6666

int main()
{
    int val;
    scanf("%d", &val);
    int ar[SIZE] = { 1 };
    for (int i = 2; i <= val; i++) {
        int carry = 0;
        for (int j = 0; j < SIZE; j++) {
            int cur_num = ar[j] * i + carry;
            ar[j] = cur_num % 10;
            carry = cur_num / 10;
        }
    }
    int index;
    for (int i = SIZE - 1; i >= 0; i--) {
        if (ar[i]) {
            index = i;
            break;
        }
    }
    for (int i = index; i >= 0; i--) {
        printf("%d", ar[i]);
    }
    putchar(\n);
    return 0;
}

 

TJPU-36 大数阶乘

原文:http://www.cnblogs.com/ray-coding-in-rays/p/6308582.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!