2021-05-10:阶乘结果尾数有多少个零?
福大大 答案2021-05-10:
时间复杂度:O(logn)。在这种方法中,我们将 n 除以 5 的每个幂。根据定义,5 的 log5(n)幂小于或等于 n。由于乘法和除法在 32 位整数范围内,我们将这些计算视为O(1)。因此,我们正在执行 log5(n)* O(1)=logn 操作。
空间复杂度:O(1),只是用了常数空间。
代码用golang编写。代码如下:
package mainimport "fmt"func main() { fmt.Println(trailingZeroes(5))}func trailingZeroes(n int) int { ret := 0 for n > 0 { n /= 5 ret += n } return ret}
执行结果如下:
各位Excel天天学的小伙伴们大家好,欢迎收看Excel天天学出品的excel2019函数公式大全课程。今天我们依旧要学习的是Excel函数中的数学函FACT函数。FACT函数是计算阶乘的函数,在数学中我们计算阶乘的公式为:n!=nx(n-1)!,计算小范围内的阶乘,利用我们数学公式计算还算可以接受,如果计算大范围内的阶乘,让我们手动去计算,不知道要计算到哪年哪月?因此我们必须借助FACT函数公式。
下面我们一起来了解一下FACT函数的功能、语法以及参数解释。
FACT函数
函数功能
FACT函数用于返回数字的阶乘,一个数的阶乘等于1*2*3*…*该 数。
函数语法
FACT(number)
参数解释
number:必需。表示要计算其阶乘的非负数。如果number不是整 数,则截尾取整。
下面我们通过一个实际的案例来对FACT函数进行更进一步的了解。今天我们这个例子非常的简单,就是计算不同非负数的阶乘,我们先计算一个简单数值3的阶乘,具体计算的公式为:=FACT(B5)
我们来验证一下我们计算的结果是否正确,我们知道计算数值阶乘的公式为:n!=nx(n-1)!,3!=1*2*3=6,我们计算的结果与公式计算结果一致,结果验证正确。
下面我们在来计算一下非正整数的阶乘,具体的计算公式为:=FACT(B6)
计算非正整数阶乘的时候,计算的结果和我们预想的不一致,这是什么原因呢?
在计算数值阶乘的时候,对于不是正整数的数值,我们要进行截取,截取规则为截尾取整,就是只要数值的整数部分,小数部分直接舍掉!
好了,本节课程到这里就结束了,谢谢大家的观看,我们下一期再见。
如果有什么问题欢迎评论区留言或私信我们,如果有你想知道的函数公式,可以告诉我们,我们及时为你解答。
如果你觉得文字枯燥无味,不便于你学习理解?没有关系!你可以关注我们的视频版Excel函数公式大全课程。
最后让我们一起祝愿武汉,武汉加油!!!中国加油!!!我们一定可以战胜这场没有硝烟的战争。
Excel函数公式大全之利用LOG10函数求任意以10为底数的对数值
Excel函数公式大全之利用LN函数计算任意正数值的自然对数值
#include <stdio.h>int main (){ int fac(int n); //fac函数声明--fac函数指的是阶乘函数 int n; int y; printf(\"input an integer number.\"); //输入要求的阶乘的数 scanf (\"%d\",&n); y=fac(n); printf(\"%d!=%d\n\",n,y); return 0; } int fac(int n) //定义fac函数 { int f; if (n<0) printf (\"n<0,data error\"); //n不能小于0 else if (n==0||n==1) //n=0或n=1时 n!=1(注意0!=1) f=1; else f=fac(n-1)*n; //n>1时,n!=n*(n-1) 注意此处是本题的精华运用了函数的嵌套! return(f); //将f的值返回原来的y }
上期答案:一个c语言程序是由函数组成的!
编程易错点:用户定义的标识符中大,小写字母代表的标识一致吗?
冷知识分享:(70%的美国小朋友认为圣诞老人不是美国的,他们认为是那里的呢?
答案是(中国)
鱼在温水里会很容易的煮死,毛毛雨会很容易的打湿衣服,因为这些看似没有杀伤力的东西最容易让人丧失警惕。喜欢就点个赞吧.关注一下!么么哒