收藏 分销(赏)

c语言-阶乘算法(迭代和递归).docx

上传人:二*** 文档编号:4515712 上传时间:2024-09-26 格式:DOCX 页数:3 大小:12.39KB
下载 相关 举报
c语言-阶乘算法(迭代和递归).docx_第1页
第1页 / 共3页
本文档共3页,全文阅读请下载到手机保存,查看更方便
资源描述
C语言-阶乘算法(迭代和递归) 记得写注释 阶乘 n! =n* (n-1) * (n-2) * (n-3) * (n-4). *1并且0的阶乘为1 一、迭代算法 迭代法也称辗转法,是一种不断用变量的旧值递推新值的 过程,比方计算累加和,累乘积等。 1、思路:同累乘积,计算出n* (n-1) * (n-2) * (n- 3) * (n-4). *1 的结果。 2、技术点:for语句 二、递归算法递归是指函数的定义中使用函数自身的方法。 L思路:1、递归终止条件;2、提取重复的逻辑,缩小问 题规模。 1 (n = 0) n! =z 、n * (n — 1)! ( n > 0 ) 2、技术点:递归函数、if语句编程实现:编写一个函数,实现非负整数n !的计算。 方法一:迭代算法 #include <stdio.h> int main() {int jc (int n); int n;printf (”请输入非负整数n的值:*'); scanf (f,%dnz &n); printf("\n2d!=%d\n",n,jc(n)); return 0; } int jc (int n) ( -int//result用来计算阶乘结果 for (;n>=l;n) result*=n;return result; ) 方法二:递归算法 #include <stdio.h> int main() {int jc (int n); int n;printf (”请输入正整数n的值:“); scanf("%d",&n); printf(M\n%d!=%d\nMf n,jc (n)); return 0; ) int jc (int n) ( -if (n==0) return/递归终止条件 else return jc (n-1) *n; //重复的逻辑编程实现:编写一个函数,实现1!+2! + 3!+4 ! +5!的计算。 方法一:迭代算法 ♦include <stdio.h> int main() {int Ls=O,p=\; //s记录阶乘和 for(i=l;i<=5;i++) ( p=p * i •,/ /先计算阶乘 s=s+p; //再求和} printf(Hl!+2!+3!+4!+5!=%d\nMfs); return 0; ) 方法二:递归算法 #include <stdio.h> int main() {int jc(int n); int//s记录阶乘和for(i=l;i<=5;i++) s+=jc(i); printf(nl!+2!+3!+4!+5!=%d\nMrs); return 0; ) int jc(int n) ( -if (n==0) return 1; //递归终止条件 else return jc (n-1) *n; //重复的逻辑
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服