c语言计算n的阶乘

c语言计算n的阶乘的方法有:一、循环方法;二、递归方法。循环方法有:1、while语句循环实现;2、for语句实现。while是计算机的一种基本循环模式。 当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环。

一、循环方法

1、while语句循环实现

代码:

#include<stdio.h>
int main()
{
	int n;
	scanf("%d", &n);
	int fact = 1;
	int i = 1;
	while (i <= n)
	{
		fact *= i;
		i++;
	}
	printf("%d\n", fact);
	return 0;
}

结果:

5
120

2、for语句实现

代码:

#include<stdio.h>
int main()
{
	int n;
	scanf("%d", &n);
	int fact = 1;
	int i;
	for (i = 1; i <= n; i++)
	{
		fact *= i;
	}
	printf("%d\n", fact);
	return 0;
}

结果:

5
120

二、递归方法

1、写法一

代码:

#include <stdio.h>

int Fact(int n);
int main() //主函数
{
    int n, cnt;
    scanf("%d", &n);
    cnt = Fact(n);
    printf("%d\n", cnt);
    return 0;
}
int Fact(int n)    //递归函数 
{
    int res = n;
    if (n > 1)
        res = res * Fact(n - 1);
    return res;
}

结果:

5
120

2、写法二

代码:

#include <stdio.h>

int Fact(int n) //递归函数 
{
    int res = n;
    if (n > 1)
        res = res * Fact(n - 1);
    return res;
}

int main() //主函数 
{
    int n, cnt;
    scanf("%d", &n);
    cnt = Fact(n);
    printf("%d\n", cnt);
    return 0;
}

结果:

5
120

延伸阅读

什么是阶乘

阶乘是基斯顿·卡曼(Christian Kramp,1760~1826)于 1808 年发明的运算符号,是数学术语。一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。亦即n!=1×2×3×…×(n-1)×n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!×n。

开发者生产力工具大全

从人工到自动化,从重复到创新,技术演进的历程中,都伴随着开发者工具类产品的发展,所以这里整理近几年口碑良好,使用广泛的22款程序员生产力工具。

1.研发项目管理与协作:PingCode

优点:让工作推进、进度/问题追踪、团队协作变得更简单,2021年研发项目管理榜单TOP1(36Kr)。

简介:覆盖研发全生命周期,广泛用于需求、版本、项目(敏捷/kanban/瀑布)、测试、缺陷、文档、效能等环节管理与协作。并且集成github、gitlab、jinkens等主流工具,支持私有部署、在线等多种部署使用方式。

教程/官网

2.任务管理/甘特图制作工具:Worktile

优点:功能成熟、性价比高、国内市场占有率最高的团队任务工具;

简介:在功能上Worktile 是一个工具集合,它具备OKR目标管理、项目管理、项目集管理、项目计划、项目风险、项目成本管理、企业网盘、审批、简报等能力。并且具备强大的自定义能力,能够配置出符合各种项目团队的流程、表单、字段、数据报表,以及具备丰富的模板市场。

官网/教程

3.分布式版本控制系统:Git

优点:分布式开发、速度快、灵活

简介:Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

教程/官网

4.数据库管理工具:Navicat

优点:高效、安全,最好用的数据库管理工具。

简介:“Navicat”是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB 和 MongoDB 等不同类型的数据库,它与阿里云、腾讯云、华为云、Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud 和 MongoDB Atlas等云数据库兼容。

官网/教程

其余工具可通过《神级程序员都用什么工具?程序员生产力工具大全 》查看,以上均整理自该文章。

文章标题:c语言计算n的阶乘,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/47196

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年3月18日 下午10:14
下一篇 2023年3月18日 下午10:35

相关推荐

  • 网络管理软件哪些

    网络管理软件有:1.迅捷智能网管交换机管理软件;2.Winshield内网管理软件;3.聚生网管远程管理工具。迅捷智能网管交换机管理软件是一款简单实用的网络交换机管理软件,能够帮助用户轻松管理同一网络下的所有交换机设备,在线对设备参数进行修改调整。 1.迅捷智能网管交换机管理软件 迅捷智能网管交换机…

    2023年1月11日
    40200
  • 需求评审和设计评审有什么不同

    需求评审和设计评审的区别:1、适用范围不同;2、评审重点不同;3、评审流程不同。需求评审是从用户的角度出发,一切围绕用户进行评审。理解了软件产品的业务需求和用户需求后,才能进一步进行设计,从而对软件实现的功能进行设计评审,需求评审在前,设计评审在后。 需求评审和设计评审的区别 需求评审是“从用户的角…

    2022年11月16日
    52000
  • 什么是SaaS领域

    SaaS领域是:Software-as-a-Service的缩写名称,意思为软件及服务,即通过网络提供软件服务。SaaS是基于互联网提供软件服务的软件应用模式。简单说就是在线系统模式,即软件服务商提供的软件在线服务。 一、什么是SaaS领域 SaaS(Software-as-a-service)的意…

    2023年4月29日
    800
  • VR需要掌握什么编程语言

    VR需要掌握:1、C#;2、C++语言;3、Java;4、 其他计算机图形学与GPU编程。其中,C#是指,C#基础语法与算法、面向对象编程、C#是数据结构与高级语法;是做U3D的基础语言。而Unity 把 C# 当作脚本语言使用。 一、C# C#基础语法与算法、面向对象编程、C#是数据结构与高级语法…

    2023年3月18日
    9700
  • 增加流量的方法

    增加流量的方法有:1、制作有吸引力的广告;2、注意页面搜索引擎优化;3、分析有关流量的数据;4、在社交媒体上活跃起来;5、内容形式多样化等。制作有吸引力的广告是指为自己的品牌或网站制作有吸引力的广告来进行宣传。 1、制作有吸引力的广告 对于新手而言,这种方式是最简单而且最有效的。付费搜索、社交媒体广…

    2023年3月21日
    7900
  • 怎样实现redis分布式锁

    实现redis分布式锁的步骤:1、加锁;2、释放锁;3、给锁设置有效期;4、给锁设置唯一值;5、通过LUA脚本实现释放锁的原子性。加锁是指,执行 setnx 为一个代表锁键设置值,如果能设置成功,则表示获得锁,失败则无法获得锁。 1、加锁 Redis 的 setnx 命令会判断键值是否存在,如果存在…

    2023年1月8日
    5000
  • html怎么下载

    下载html的步骤:1、点击浏览器菜单栏列表;2、选择将页面另存为;3、选择要保存html文件所在的地方。点击浏览器菜单栏列表是指,在浏览器书签栏的右端,可以看到表示扩展到三个点,点击即可展开菜单栏。 1、点击浏览器菜单栏列表 以Microsoft Edge浏览器为例,如图所示,点击书签栏最右端按钮…

    2023年3月16日
    40000
  • 汇编语言与机器语言的区别是什么

    汇编语言与机器语言的区别在于以下几个方面:1、效率;2、组成;3、面向类型;4、特点不同。效率是指,机器语言的执行效率高,速度快,而汇编语言的编程效率不高,属低级语言。 一、效率 机器语言:执行效率高,速度快; 汇编语言:编程效率不高,属低级语言; 高级语言:执行效率不及机器语言,但编程效率高于汇编…

    2023年2月21日
    55600
  • 同一个SQL查询语句,为什么使用到的索引不同

    使用到的索引不同的主要原因有:一、查询条件不同;二、数据分布不同;三、数据量不同;四、数据类型不同。同一个表中的不同查询条件可能需要使用不同的索引。在同一SQL查询语句中,由于查询条件不同,可能会使用到不同的索引。 一、查询条件不同 同一个表中的不同查询条件可能需要使用不同的索引。例如,对于一个包含…

    2023年5月30日
    700
  • 为什么写java的同学喜欢过度设计

    这是因为:写java同学为了拼命证明自己的能力,显得自己很强很重要,既然不能往深度玩,当然就只能在概念上、在业务上玩出花了,然后对外行人说,“你看,我多重要”。过度设计是认知过程中的必经阶段,用什么语言都一样。 写java同学为了拼命证明自己的能力,显得自己很强很重要,既然不能往深度玩,当然就只能在…

    2023年2月23日
    4700

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部