HPU 1166: 阶乘问题(一)
1166: 阶乘问题(一) [数学]
时间限制: 1 Sec 内存限制: 128 MB
提交: 58 解决: 24 统计
题目描述
输入
每组数据输入一个整数NN。
注:1<=T<=10,1<=N<=2∗1061<=T<=10,1<=N<=2∗106。
输出
样例输入
2
100
1000
样例输出
158
2568
方法一:利用斯特林公式 
#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
#define Pi acos(-1)
#define e exp(double(1))
using namespace std;
int main()
{
int t,n,sum;
cin>>t;
while(t--)
{
cin>>n;
sum=floor(log10(sqrt(2*Pi*n))+n*log10(n/e))+1;
//floor()向下取整。即取不大于x的最大整数
if(n==1) sum=1;
cout<<sum<<endl;
}
return 0;
}
方法二:无视公式,暴力
log10(n!)log10(n!)
=log10(1∗2∗3…∗n)=log10(1∗2∗3…∗n)
=log10(1)+log10(2)+…+log10(n)
#include<cstdio>
#include<cmath>
int main()
{
int n,i,t;
double d;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(i=1,d=0;i<=n;i++) d+=log10(i);
printf("%d\n",(int)d+1);
}
return 0;
}
HPU 1166: 阶乘问题(一)的更多相关文章
- HPU 第三次积分赛:阶乘之和(水题)
阶乘之和 描述 对于整数pp,给出以下定义 p=x_{1}!+x_{2}!+x_{3}!+...+x_{q}!(x_{i}<x_{j}for\ all\ i<j )p=x1!+x2!+ ...
- C语言 · 阶乘计算 · 基础练习
问题描述 输入一个正整数n,输出n!的值. 其中n!=1*2*3*-*n. 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法.使用一个数组A来表示一个大整数a,A[0]表 ...
- Java 计算N阶乘末尾0的个数-LeetCode 172 Factorial Trailing Zeroes
题目 Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in ...
- 关于for循环的几个小练习,例如奇数偶数,阶乘,求和等
1 .100以内的奇数和偶数 var js = ""; var os = ""; for(var i=1;i<101;i++) { if(i%2 == 0 ...
- [LeetCode] Factorial Trailing Zeroes 求阶乘末尾零的个数
Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in log ...
- 求单链表L各结点的阶乘之和(c语言)
链表需要用到指针 阶乘需要用到递归 链表中的注意事项: 1.链表L是否等于NULL ----------是循环结束的条件 2.链表L->Data ---------取链表L中各个结点的值 3.L ...
- 洛谷 P2726 阶乘 Factorials Label:Water
题目背景 N的阶乘写作N!,表示小于等于N的所有正整数的乘积. 题目描述 阶乘会变大得很快,如13!就必须用32位整数类型来存储,到了70!即使用浮点数也存不下了. 你的任务是找到阶乘最前面的非零位. ...
- js实现阶乘
//while循环实现function calNum(n) { var product = 1; while(n > 1){//1*5*4*3*2,1*n*(n-1)*(n-2)*...*2 p ...
- 洛谷P1134 阶乘问题[数论]
题目描述 也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如: 12! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 = 479,001, ...
随机推荐
- 常用 对象检测 api
isPrototypeOf() 判断某个 proptotype 对象和某个实例之间的关系 alert(Cat.prototype.isPrototypeOf(cat1)); //true ale ...
- php 四种基础排序
1. 冒泡排序算法 * 思路分析:法如其名,就是像冒泡一样,每次从数组当中 冒一个最大的数出来. * 比如:2,4,1 // 第一次 冒出的泡是4 * ...
- OpenGL入门程序一:绘制简单的矩形
#include <GL/glut.h> void MyDisplay(void); int main(int argc, char **argv) { //设置窗口的大小 glutIni ...
- Maven常用dependency记录
1.servlet配置 <dependency> <groupId>junit</groupId> <artifactId>junit</arti ...
- 测试工作中经常用到的一丢Linux命令
自己平时测试工作中经常要在Linux下搭建测试环境,有涉及到启动/终止服务器,修改tomcat配置文件,偶尔碰到端口被占用... 这时就不得不需要一些基本的Linux命令来处理遇到的这些问题 1.cd ...
- 测序中Q20 Q30 Q40
你能给别人讲清楚这个概念吗? 二代测序中,每测一个碱基会给出一个相应的质量值,这个质量值是衡量测序准确度的.碱基的质量值13,错误率为5%,20的错误率为1%,30的错误率为0.1%.行业中Q20与Q ...
- English trip -- VC(情景课)9 B Outside chores 室外家务
Vocabulary focus 核心词汇 cutting the grass 修剪草坪 getting the mail 收到邮件 taking out the trash 把垃圾带出去 wal ...
- 12月7日,几个错误,拼写错误,遗漏符号:,记忆有误,max-width的作用。gem mini_magick, simple_form
❌: 1. /Users/chentianwei/jdstore3/jdstore/config/routes.rb:6:in `block in <top (required)>': u ...
- 1月4日编程基础hash
早上git加星了webapp的教程 > h = Hash.new('Go Fishing') => {} // 创建一个空hash,设定"Go Fishing&qu ...
- 富文本编辑器layedit,调用setContent方法会报错
需要把layedit.js里的setContent 函数的 layedit.sync(index)); 改成 this.sync(index));