可怕的递归

justhim justhim 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <stdlib.h>
#include <stdio.h>

static unsigned long count;

long fact(int x) {
++count;
/* fact(0) is 1, negative numbers don't make sense so we pretend
* they're 1. */
if (x < 2) return 1;
return x * fact(x - 1);
}

int main(void)
{
int i;
long f;

for (i = 1; i < 20; ++i) {
count = 0;
f = fact(i);
printf("fact(%02d) gives %ld after %lu iteration%s.\n",
i, f, count, count == 1 ? "" : "s");
}

return 0;
}

输出结果:
fact(01) gives 1 after 1 iteration.
fact(02) gives 2 after 2 iterations.
fact(03) gives 6 after 3 iterations.
fact(04) gives 24 after 4 iterations.
fact(05) gives 120 after 5 iterations.
fact(06) gives 720 after 6 iterations.
fact(07) gives 5040 after 7 iterations.
fact(08) gives 40320 after 8 iterations.
fact(09) gives 362880 after 9 iterations.
fact(10) gives 3628800 after 10 iterations.
fact(11) gives 39916800 after 11 iterations.
fact(12) gives 479001600 after 12 iterations.
fact(13) gives 1932053504 after 13 iterations.
fact(14) gives 1278945280 after 14 iterations.
fact(15) gives 2004310016 after 15 iterations.
fact(16) gives 2004189184 after 16 iterations.
fact(17) gives -288522240 after 17 iterations.
fact(18) gives -898433024 after 18 iterations.
fact(19) gives 109641728 after 19 iterations.
...全文

相关推荐

四驱PHEV、插电式混合动力汽车+DM混动系统P2+P4+发动机(三擎四驱)Matlab仿真

内容概要:本文系统解读了一套完整的多机器人路径规划(MAPF)MATLAB代码库,旨在解决在共享环境中为多个智能体寻找无冲突路径的核心问题。文章采用几何、拓扑、调度与呈现四层架构,详细阐述了地图解析、四邻域拓扑与Petri网构建、基于优先级启发式的路径规划、时间同步与冲突消解,以及可视化等关键技术环节。核心设计思想为空间规划与时间消解分离,通过动态边权膨胀、节点预留历史、几何惩罚驱动的局部同步等机制有效提升算法效率与可扩展性。文中深入分析了三种时间同步策略的适用场景与性能取舍,并强调了可视化在算法验证中的关键作用,为构建可复现、可扩展的MAPF仿真系统提供了详尽的技术参考。; 适合人群:具备一定MATLAB编程基础,从事机器人、自动化、智能交通、无人机编队等相关领域研究的研发人员及研究生。; 使用场景及目标:① 学习并掌握多机器人路径规划中的优先级规划与冲突消解核心算法;② 理解并应用基于Petri网的整数规划求解方法;③ 构建并优化可复现、可扩展的MAPF仿真系统,服务于仓储物流、自动驾驶、无人机集群等实际应用场景;④ 提升MATLAB工程化开发能力与复杂算法的可视化水平。; 阅读建议:建议读者结合提供的MATLAB代码与MovingAI标准地图数据,严格按照章节顺序逐步实践,重点关注各模块间的接口设计、性能优化策略及“信息前移”的工程思想,并通过调整智能体数量、地图复杂度等参数,全面验证算法的鲁棒性与效率。

荔枝科研社

产业园区运营负责人如何利用平台提升园区内企业与科研机构的协同创新能力?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

Delphi 13.2控件之Delphi37Binaries-2026.48-windows.pak

Delphi 13.2控件之Delphi37Binaries-2026.48-windows.pak

tjsoft

政府科技管理者在推动科技成果转化时,如何精准匹配科技资源与产业需求?.docx

科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。

BIZKEEN

高校技术转移办公室人员如何高效管理科研成果并推动转化?.docx

高校技术转移办公室人员如何高效管理科研成果并推动转化?

BIZKEEN
评论 2
收藏 已收藏
分享
返回顶部
justhim
C语言 70,039 成员 243,237 内容