大数阶乘 nyoj
大数阶乘
- 描述
- 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?
- 输入
- 输入一个整数m(0<m<=5000)
- 输出
- 输出m的阶乘,并在输出结束之后输入一个换行符
- 样例输入
-
50
- 样例输出
-
30414093201713378043612608166064768844377641568960512000000000000思路:模拟人工计算的方法计算:a b* c------------------d+(remainder) e d+b*c的进位; 如果乘积为一位数,则a[j]中,余数为0,如果成绩超过前一个数的位数是,j的for循环处理完之后remainder(余数)不为0,会进入while循环,会把当前的a数组扩容一位,存下余数,并且当前数字的位数+1由于存进去的都输余数,最后选择逆序数出,
#include <iostream>
using namespace std;int a[2005];
int main()
{
int m,remainder,digit,temp;
cin>>m;
a[0]=1;
remainder=0; //余数初始化为0
for(int i=2;i<=m;i++) // 要处理的位数
{
for(int j=0;j<digit;j++)
{
temp=a[j]*i+remainder;
a[j]=temp%10;
remainder=temp/10;
}
while(remainder)
{
a[digit]=remainder%10;
remainder/=10;
digit++;
}
}
for(int i=digit-1;i>=0;i--)
cout<<a[i];
cout<<endl;
return 0;
}
大数阶乘 nyoj的更多相关文章
- nyist28大数阶乘
http://acm.nyist.net/JudgeOnline/problem.php?pid=28 大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们 ...
- 大数阶乘(c语言)
大数阶乘.代码比较简单. #include<stdio.h> #include<string.h> #define MAXN 25000 // 如果你的阶乘N比较大,建议大一点 ...
- 【大数阶乘】NYOJ-28
大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数 ...
- 【ACM】大数阶乘 - Java BigInteger实现
大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数 ...
- nyoj___大数阶乘
http://acm.nyist.net/JudgeOnline/problem.php?pid=28 大数阶乘 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们都知 ...
- 大数阶乘(c++实现)
#include <iostream>using namespace std;#define N 1000int BigNumFactorial(int Num[], int n);voi ...
- HDU 1133 Buy the Ticket (数学、大数阶乘)
Buy the Ticket Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- nyoj 28 大数阶乘
题目链接:nyoj 28 就是个简单的高精度,只是一开始我打表超内存了,然后用了各种技巧硬是把内存缩到了题目要求以下(5w+kb),感觉挺爽的,代码如下: #include<cstdio> ...
- NYOJ题目28大数阶乘
-------------------------------------祭出BigInteger AC代码: import java.math.BigInteger; import java.uti ...
随机推荐
- Gluttony CodeForces - 892D (构造,思维)
题面: You are given an array a with n distinct integers. Construct an array b by permuting a such that ...
- android webservice 成功版(帅哥)
package com.ts.xtweatherreport01;import java.io.UnsupportedEncodingException; import android.annotat ...
- OC Xcode中常见的错误
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...
- C语言-简单选择排序与直接插入排序的实现
/* Name: selectSort and insertSort Copyright: nyist Author: 润青 Date: 01/10/18 19:30 Description: 实现了 ...
- javaScript面向对象是什么?(一)
js就是个面向对象语言,一切皆对象 一.什么是面向对象? 简单点,就这么说吧.生活中有一些个物品,譬如(哈哈,还想起个譬如)说一个iPhone,我们也不知道里面的工作原理吧?但是咱们会按按钮呀,用一俩 ...
- js设计模式-观察者模式
定义: 观察者模式又叫发布订阅模式,它定义了对象间的一种一对多的依赖关系.观察者模式让两个对象松耦合地联系在一起,虽然不太清楚彼此的细节,但这不影响他们之间的互相通信. 思路 定义一个对象,在对象中实 ...
- POJ 1062 最短路Dijstra
汉语题... 题意正如你看到的酱... 看的解题报告.思路大概是把每个点看做最高等级.然后枚举所有当前可以访问的点.进行dijstra算法.找到此时到目标点最短路.枚举完之后找到最小的点就可以了. P ...
- 微信H5支付 C#
首先奉上 万能的 官方文档 应用场景(废话) H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付. ...
- Thinking in Java 之classpath理解
等待写: <Thinking in Java> page127
- Kafka消费者APi
Kafka客户端从集群中消费消息,并透明地处理kafka集群中出现故障服务器,透明地调节适应集群中变化的数据分区.也和服务器交互,平衡均衡消费者. public class KafkaConsumer ...