51区未解之谜网

未解之谜与世界之最,猎奇文章

首页 >  生活百科 >  c语言里阶乘怎么表示,如何在c语言中表示阶乘

c语言里阶乘怎么表示,如何在c语言中表示阶乘

时间:2022-10-21 作者:迷迷 来源:51区未解之谜网 手机阅读

  一个数的阶乘大家都不陌生,原理很清楚,就是给定一个正整数,然后计算所有小于等于这个正整数的乘积。

  这里我们需要明确几点:

   1.负数没有阶乘,所以默认为正整数。

   2的阶乘,0是1,这是人为规定的,记住就好。

  所以,今天我们的重点是用C语言实现数的阶乘,但是我提出一个要求:利用前几天学过的知识,利用函数和递归函数实现数的阶乘。

  这样不仅可以复习函数和递归函数的方法,还可以巩固自己的C语言基础。

  在C语言中正式实现数字的阶乘之前,我们先来看看逻辑。

  一个数的阶乘,除了0的阶乘是1,正整数的阶乘是所有小于等于它的乘积。

  给定一个数5,那么5的阶乘就是5!=1x2x3x4x5=120 .

  这里需要用一个循环,就是可以迭代小于5的数。

  遍历1,2,3,4,5后,连续相乘。

  初始值为1时,第一次乘法为1,第二次乘法为1和2,直到第五次乘法为前四次乘法的乘积乘以5,最后得到120。

  首先给出流程图给大家理解。有三种方法来实现代码。第一种是把所有代码直接写在主函数里。

  这个方法比较直观,就是遍历一个给定的数,从1开始到自身,然后不断相乘。注意,我一开始在这里用了一个给定的数相乘,但实际上这是有问题的,我还是要从1开始。毕竟1的阶乘是从1开始的。

   # includes dio . hint main(){ int number;int factorial=1;//因为factorial是factorial的英文scanf(%d ,number);for(int I=1;I=数字;i ) {阶乘=i *阶乘;//这是为了保证即使number=0,结果也是1} printf(%d ,阶乘);}测试结果:

  第二种方法是在主函数外面写一个子函数,然后直接调用主函数里面的子函数。

   # includesdio . hvoid factorial(){ int number;int factorial=1;//因为factorial是factorial的英文scanf(%d ,number);for(int I=1;I=数字;i ) {阶乘=i *阶乘;//这是为了保证即使number=0,结果也是1} printf(%d ,阶乘);} int main(){ factorial();//可以说是直接执行这部分主代码然后在main函数中调用}。其实可以发现,这和我们上面直接在主函数里写的方法没什么区别。唯一不同的是,它看起来更直观,代码也不完整。

  测试结果:

  第三:在主函数之外写一个递归函数,就是让子函数不断调用自己。

  相比前两种方法,递归函数显然更容易理解,也明显使得代码的利用率更高。因为0的阶乘是0,这个要分开判断,也就是结果是1,然后乘以一个比它小的数。

  其实这个逻辑很好理解。给定数字5,那么5乘以阶乘(4),阶乘(4)再乘以阶乘(3)。以此推理下去,直到最小值乘以1,满足所有数从1到自身的乘法。

   # includesdio . hint factorial(int n){ if(n=0){ return 1;}返回n *阶乘(n-1);//乘以一个比它小的正整数} int main(){ int number=0;scanf(%d ,编号);printf(%dn ,factorial(number));//相比之前,明显更简单}测试结果:

  综上所述,阶乘其实挺简单的,就是要多开一点思路,不要局限于只用一种方法来实现。多利用一些我们之前学过的方法,可以提高代码的利用率,提高我们的编程能力。

相关文章

  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
  • 24时养生小知识视频
    24时养生小知识视频
    小伙伴们快来围观,24时养生小知识视频,get到生活不可或缺的秘诀!大家好啊!今天我要跟大家一起来分享一些24时养生小知识视频,让我们一起get到生活不可或缺的秘诀吧!早上起床(6-9点):我们的身体在这个时段经过整夜的修养,需要给它提供一些能量来开始新
.

生活百科

热门文章

热门文章

今日最新