51NOD 1057 N的阶乘】的更多相关文章

1057 N的阶乘 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题   输入N求N的阶乘的准确值.   Input 输入N(1 <= N <= 10000) Output 输出N的阶乘 Input示例 5 Output示例 120 #include <bits/stdc++.h> #define clear(a) memset(a,0,sizeof(a)) using namespace std; typedef long long ll; const…
题目地址:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1057&judgeId=605203 使用压位进行优化,即一位数存多位数,例如当设置MOD=1e8时,一位数可以存8位数: 其次,注意尾数0,因为压位,一位需要输出8个0,故第一个数应单独输出: 这样优化可以到100ms以内: #include<iostream> #include<cstring> #include<cstdio&g…
输入N求N的阶乘的准确值.   Input 输入N(1 <= N <= 10000) Output 输出N的阶乘 Input示例 5 Output示例 120 压位: 每个数组元素存多位数字 #include <cstdio> #include <string> #include <cstring> #include <algorithm> #include <iostream> #include <cmath> usin…
输入N求N的阶乘的准确值.   Input 输入N(1 <= N <= 10000) Output 输出N的阶乘 Input示例 5 Output示例 120解:这其实是MOD进制,将一个int或者long long数据类型作为一个数位,满MOD进一(本题中MOD=1000000000). (注意选择合适的数据类型,避免计算过程中数据溢出.) #include <stdio.h> #define MOD 1000000000 ]; int main() { int n; while…
题目链接:51nod 1057 N的阶乘 #include<cstdio> using namespace std; typedef long long ll; ; const int mod = 1e8; ll a[N] = {}; int n; int main(){ int i, j, c, cnt; scanf("%d", &n); cnt = ; ; j <= n; ++j){ ; i <cnt; ++i){ a[i] = a[i] * j +…
1057 N的阶乘 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 输入N求N的阶乘的准确值.   Input 输入N(1 <= N <= 10000) Output 输出N的阶乘 Input示例 5 Output示例 120 题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1057 分析:学了简单的Java,就来体验了一波Java的爽感,Java大法真的好啊! 下面给出AC代码…
1057 N的阶乘 基准时间限制:1 秒 空间限制:131072 KB 输入N求N的阶乘的准确值. Input 输入N(1 <= N <= 10000) Output 输出N的阶乘 Input示例 5 Output示例 120 import java.math.BigInteger; import java.util.Scanner; public class Main { static BigInteger ans(BigInteger a,int b){ BigInteger anss=B…
下面我们来看一个容易让人蒙圈的问题:N的阶乘 mod P. 51Nod 1008 N的阶乘 mod P 看到这个可能有的人会想起快速幂,快速幂是N的M次方 mod P,这里可能你就要说你不会做了,其实你会,为什么呢,只要你明白快速幂的原理,你就会发现他们两个其实差不多是同一个问题. 重要原理:积的取模=取模的积再取模. 快速幂不过是一直乘的相同的的数,这里仅仅是改成乘以不同的数而已. 题目: 输入N和P(P为质数),求N! Mod P = ? (Mod 就是求模 %) 例如:n = 10, P…
输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3.   Input 输入N(1 <= N <= 10^6) Output 输出N的阶乘的长度 Input示例 6 Output示例 3 很基础的题目,算是复习了一波log运算吧. 一个数的位数就是其对10取对数之后+1,那么: log10(n!) = log10(1) + ... + log10(n). 51Nod 上面数据似乎不是很严,直接用这个也过了. 还有一种算法.点击进入 //Asimple #include <…
输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3.   Input 第1行:一个数T,表示后面用作输入测试的数的数量.(1 <= T <= 1000) 第2 - T + 1行:每行1个数N.(1 <= N <= 10^9)   Output 共T行,输出对应的阶乘的长度.   Input示例 3 4 5 6   Output示例 2 3 3 斯特林公式是一条用来取n阶乘近似值的数学公式.一般来说,当n很大的时候,n阶乘的计算量十分大 所以斯特灵公式十分好用,而且…