算出N的阶乘(N!)一共有多少位
来源:互联网 发布:淘宝网司法拍卖流程 编辑:程序博客网 时间:2024/04/29 21:15
这是一道国外Apple公司的面试题,需要高等数学知识
输入任意一个数字N(N>=1) 算出N的阶乘(N!)一共有多少位
比如输入10
10! = 3628800
10的阶乘是 3628800
位数为7
在比如输入25
25! = 15511210043330985984000000
一共有 26位
注意不能把某个数的阶乘算出在统计位数
这里方便测试,给三个阶乘数字例子:
56 !=
710998587804863451854045647463724949736497978881168458687447040000000000000
123! =
1214630436702532967576624324188129585545421708848338231532891816182923589236216766883115696061264020
2170735835221294047782591091570411651472186029519906261646730733907419814952960000000000000000000000
000000
345! =
2421563865079234655870005369198585557012055604025865273483978326703996172017832359317473904791361707
9695531502689473012213820889134885853992818438056445080201482863675240494802269823110125881000284687
3771043764007922001651278559084980475073479554466030939643269870873113942746842373083985029113049697
1971509806802549750490073058021701657327001169846737892429155078087360515473687954260255463555842826
5690302091342359471863508627516511203478353542187151045838267239168928747525890559708487655213488727
5308849685587163850004369891294795278330103405177606883453687157290200153368625343538769148712017766
9920587866285855585726554423099917844925644800000000000000000000000000000000000000000000000000000000
0000000000000000000000000000
python测试脚本(python a.py):
#!/usr/bin/env python
n=999
n = int(raw_input("input your number:"))
print reduce(lambda x,y:x*y, range(1,n+1))
C:
#include <stdio.h>
#include <math.h>
int main(int argc, const char * argv[])
{
int i,n;
double sum=0.0;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
sum+=log10(i);
}
if(n==1)
sum=1;
printf("%d",(int)ceil(sum));
return 0;
}
输入任意一个数字N(N>=1) 算出N的阶乘(N!)一共有多少位
比如输入10
10! = 3628800
10的阶乘是 3628800
位数为7
在比如输入25
25! = 15511210043330985984000000
一共有 26位
注意不能把某个数的阶乘算出在统计位数
这里方便测试,给三个阶乘数字例子:
56 !=
710998587804863451854045647463724949736497978881168458687447040000000000000
123! =
1214630436702532967576624324188129585545421708848338231532891816182923589236216766883115696061264020
2170735835221294047782591091570411651472186029519906261646730733907419814952960000000000000000000000
000000
345! =
2421563865079234655870005369198585557012055604025865273483978326703996172017832359317473904791361707
9695531502689473012213820889134885853992818438056445080201482863675240494802269823110125881000284687
3771043764007922001651278559084980475073479554466030939643269870873113942746842373083985029113049697
1971509806802549750490073058021701657327001169846737892429155078087360515473687954260255463555842826
5690302091342359471863508627516511203478353542187151045838267239168928747525890559708487655213488727
5308849685587163850004369891294795278330103405177606883453687157290200153368625343538769148712017766
9920587866285855585726554423099917844925644800000000000000000000000000000000000000000000000000000000
0000000000000000000000000000
python测试脚本(python a.py):
#!/usr/bin/env python
n=999
n = int(raw_input("input your number:"))
print reduce(lambda x,y:x*y, range(1,n+1))
C:
#include <stdio.h>
#include <math.h>
int main(int argc, const char * argv[])
{
int i,n;
double sum=0.0;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
sum+=log10(i);
}
if(n==1)
sum=1;
printf("%d",(int)ceil(sum));
return 0;
}
0 0
- 算出N的阶乘(N!)一共有多少位
- n!一共有多少位长度
- 算出n阶乘有多少个尾随零
- N的阶乘后有多少0
- 求N的阶乘N!末尾有多少个零
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘(N!)中的末尾有多少个0
- N的阶乘(N!)中的末尾有多少个0
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘(N!)中的末尾有多少个0?
- N的阶乘N!中的末尾有多少个0?
- 滴滴笔试题 N的阶乘从最低位开始有多少个连续的0
- 给定一个整数N,那么N的阶乘N!末尾有多少个0呢?求N!的二进制表示中最低位1的位置。
- 精确算出n的阶乘
- 求n的阶乘的末尾有多少个零
- viewpager 、fragment 遇到的问题
- 黑马程序员-OC语言基础
- Java 随机数
- Airplay相关协议
- 自定义ActionBar Overflow图标
- 算出N的阶乘(N!)一共有多少位
- 几周内搞定Java的10个方法
- C语言运算符优先级--详细列表
- gsoap写一个c++ webservice
- 读了一点《失控》后的感想
- css定位机制
- android error INSTALL_FAILED_INSUFFICIENT_STORAGE
- JSON数组
- Swift游戏开发之俄罗斯方块:No.3 二维数组