设为首页 加入收藏

TOP

大数乘法的应用(一)
2012-12-06 13:48:43 来源: 作者: 【 】 浏览:793
Tags:大数 乘法 应用

    Problem Description

    Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!

    Input

    One N in one line, process to the end of file.

    Output

    For each N, output N! in one line.

    Sample Input

    1

    2

    3

    Sample Output

    1

    2

    6

    这道题目有一些东西特别要注意:

    1.0的阶乘是存在的!0!=1,我当初提交这道题目是在这一点上吃了不少的亏!我开始是是写的while(cin>>n && n>0);交上去的时候老是报错!但是我就纳闷了,没错啊!后来才发现,这句应该写成while(cin>>n && n>=0);或者while(scanf(“%d”,&n)!=EOF);

    2.10000的阶乘是在是太大了!我的数组开4000居然还是错,开8000还错!后来索性开个10000,居然对了!太吃惊!

    [cpp]

    //首先需要肯定,程序是正确的

    //这算是大数乘除法!记住他们是如何处理的!由于数据很大,用基本数据类型根本无法满足要求,只能用数组来表示!

    //大数乘法!10000!的阶乘是在太大!几次数组开小了都报错误!

    #include <iostream>

    #include<cstdio>

    #include<memory.h>

    using namespace std;

    #define MAX 10000

    #define BASE 100000//base只是一个基度,对最终取值并没有影响,相反,base取值愈大,计算量愈小

    //base发生改变的时候,下面的输出也要相应地做出调整,否则也会输出错误答案!除非当base取10!

    int h[MAX];

   

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇节俭的c/c++和挥霍的java/c# 下一篇Antenna Placement poj..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: