用Pascal求n!的位数公式+程序+注释(就是每一步对应公式里的哪一部分)n最大会是10^7,要求在1秒之内搞定,先求出n!再求位数的方法应该是不能完成的.

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 16:32:58

用Pascal求n!的位数公式+程序+注释(就是每一步对应公式里的哪一部分)n最大会是10^7,要求在1秒之内搞定,先求出n!再求位数的方法应该是不能完成的.
用Pascal求n!的位数
公式+程序+注释(就是每一步对应公式里的哪一部分)
n最大会是10^7,要求在1秒之内搞定,先求出n!再求位数的方法应该是不能完成的.

用Pascal求n!的位数公式+程序+注释(就是每一步对应公式里的哪一部分)n最大会是10^7,要求在1秒之内搞定,先求出n!再求位数的方法应该是不能完成的.
所谓某数的位数 就是此数的常用对数取上界(或者说能用一个小于10的数乘以几个十得到!)
比如
1000!的位数可以表示为lg(1000!)这个高中数学竞赛能学到
lg(1000!)=lg1000+lg999+……lg(1)+1取下界
pascal程序如下,仅供参考,调用了math库
program njiecheng;
uses math;
var i,n:integer;
result:float;
begin
readln(n);
result:=0;
for i:=1 to n do //n!的位数=西格玛(1到n)再加1!
begin
result:=result+log10(i);
end;
result:=result+1;
writeln(trunc(result));//实际得取下界
readln;
end.
求log10(1000!)就是1000!的结果的位数

用Pascal求n!的位数公式+程序+注释(就是每一步对应公式里的哪一部分)n最大会是10^7,要求在1秒之内搞定,先求出n!再求位数的方法应该是不能完成的. 用PASCAL语言编写一个求1+2+3+...+N的程序 Miller-Rabbin素数测试法求一个用Miller-Rabbin算法判断是否为素数的程序,注意要用PascalPascal!Pascal!Pascal!Pascal!Pascal!Pascal!Pascal!Pascal!最好有说明 pascal问题,求程序:1、 文本文件t.in中第一行的一个 正整数N(N 自然数的无序拆分用pascal程序解决把自然数N(N 用pascal编写程序 如果一个4位数等于它的每一位数字4次方之和,则称为玫瑰花数,求所有的玫瑰花数.用pascal编写程序如果一个4位数等于它的每一位数字4次方之和,则称为玫瑰花数,求所有的玫瑰 求一pascal程序,给出一个整数n,其中n小于等于10000,请统计n的因数的个数. PASCAL语言求程序:对于给定的n,求1至n中有多少个数是质数 用PASCAL编程序1.编写一函数,求出实数的小数部分位数.例如,实数3.14有2位小数;68.6634有4位小数2.编写一函数,求出N!的末尾含有多少个0 用Pascal语言求m^n的精确值,0 用PASCAL怎么求x的N次方 PASCAL求2的n次方用高精度算 输入一个四位数,求它各位上数字的和 用pascal 一道poj上的题目求poj2253 的pascal程序 请高手用Pascal语言编写下列程序输出杨辉三角的前N行(N 求一个背包程序(PASCAL)最原始的 用free pascal编写程序,要具体(用while语句)格里高利公式:pi/4=1-1/3+1/5-1/7+1/9-……求pi,若1/n 给出一个整数n,其中n小于等于1000.请求出1~n中所有的素数的个数求一pascal程序