迭代法 C语言实现阶乘程序

本文探讨了迭代与递归在计算阶乘中的应用,通过实例演示如何用C语言的for循环替代递归,以提高效率。重点讲解了如何使用迭代法计算1!~16!的过程,并给出了实际运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

递归//尽量用迭代法替代递归

1.迭代与递归的区别
迭代在循环条件为假时终止循环,递归在遇到基线情况是终止递归。
2.先找到最简的问题,当函数递归调用到最简形式即满足基线情况时,递归调用结束,然后逐级将函数返回值返回给上一级调用者

迭代法,无法使用公式一次求解,而需要用到迭代法

下面用 C语言 用for循环设计一个计算1!~n!的阶乘程序  n<=16

//下面用 C语言 用for循环设计一个计算1!~n!的阶乘程序  n<=16
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i;
	int j,n,sum=1;
	printf("请输入n=");
	scanf("%d",&n);

	for(i=0;i<=n;i++) //从0!=1开始计算
	{
		for(j=i;j>0;j--)   /* n!=n*(n-1)*(n-2)*...*1   */
			sum*=j;
		printf("%d!=%3d\n",i,sum);
		sum=1;
	
	}

	getchar();
	return 0;

}

运行结果

请输入n=10
0!=  1
1!=  1
2!=  2
3!=  6
4!= 24
5!=120
6!=720
7!=5040
8!=40320
9!=362880
10!=3628800
请按任意键继续. . .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Love coldplay

你的鼓励,将让我持续更新

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值