【C语言】求一个数的阶乘
#include <stdio.h> //包含标准库的信息int main(void) //每个程序都从main函数的起点开始执行
{ //函数开始int p = 1;int n;printf("请输入所求阶乘:\n");scanf("%d",&n);for (int i = 2; i <= n ; ++i) {p = p * i;}printf("%d! = %d",n,p);return 0;
} //函数结束
运行结果
法二、函数调用
#include <stdio.h> //包含标准库的信息
int main(void) //每个程序都从main函数的起点开始执行
{int fac(int n); //函数声明int n ,y;printf("input an integer number:");scanf("%d",&n); //输入要求阶乘的数y = fac(n);printf("%d!=%d\n",n,y);return 0;
}
int fac(int n) //定义fac函数
{int f;if(n<0) //不能求0以下的阶乘printf("n<0,data errot!");else if(n == 0||n==1) //n=0或1时,n! = 1f=1;else f=fac(n-1)*n; //n>1时,n! = n * (n - 1)return (f);
}
运行结果
三、输出1到5的阶乘值
#include <stdio.h> //包含标准库的信息
int main(void) //每个程序都从main函数的起点开始执行
{int fac(int n); //函数声明for (int i = 1; i <= 5; ++i) { //先后5次调用fac函数printf("%d! = %d\n",i,fac(i)); //每次计算并输出i!的值}return 0;
}
int fac(int n)
{static int f = 1; //定义静态局部变量,f保留了上次调用结束时的值f = f * n; //在上次f值的基础上再乘以nreturn (f); //返回值f是n!的值
}
运行结果
补充一组用python求阶乘的代码,可以对比一下
#递归实现阶乘
def f(n):if n==1:return 1else:return n*f(n-1)
f(5)
#不用递归方式实现阶乘
def f(n):s=1for i in range(1,n+1):s=i*sreturn s
f(5)
【C语言】求一个数的阶乘相关推荐
- c语言求一个数的阶乘值代码,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- python练习题(python之“求一个数的阶乘并求结果中从后向前数第一个不为0(零)的数” 等)
实验环境:python2.7 题目1:python之"求一个数的阶乘并求结果中从后向前数第一个不为0(零)的数" 程序: import math def factorial(n): ...
- php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...
详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...
- C++和C语言求解一个数的阶乘以及多个数的阶乘之和
第一个问题,求解一个数的阶乘,一个数的阶乘等于从它本身一直乘到1. 以下为源代码: 第二个问题:求多个数的阶乘之和,通过上面的代码,我们已经会求解一个数的阶乘,那么多个数的阶乘我们只需要再加一个循环, ...
- 用C语言求三个数的最大值与排序
用C语言求三个数的最大值与排序 1.用C语言求三个数的最大值 语法:if语句 代码如下: #include<stdio.h> int main() {int a, b, c;printf( ...
- 如何用C语言求两个数的较大值
用C语言求两个数的较大值,有两种方法: 1,常规方法,利用选择语句的 if 语句 #include<stdio.h> int main() {int a=10;int b=20;if (a ...
- 求一个数的阶乘中0的个数
求一个数的阶乘中0的个数 连续几天产出为负,再不写点东西没法交代了... public class The_number_of_0_in_FactorialN {public static void ...
- [Java练习]求一个数的阶乘,并在此基础上求自然对数e的值
问题:分别用方法递归和循环求一个数的阶乘,并调用此方法求自然对数e的值 e = 1 + 1/2! +1/3! +1/4! +- public class factorial1{public stati ...
- python求一个数的阶乘_阶乘计算python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 问题本身很简单,主要是通过这个小问题来演示python的一些用法,例如测试代码运 ...
最新文章
- ASA 过滤 URL (图解)
- some of the strides of a given numpy array are negative
- python编程培训-什么是Python?老男孩Python编程培训
- 阿特斯携手EDF启动建设巴西191.5MW光伏项目
- react实现浏览器自动刷新_react.js怎么实现刷新当前页面?
- 【数据结构】30、hashmap=》hash 计算方式
- 国内滴滴面临“讨伐”,国外Uber日子更难过!活该不?
- 蓝桥杯 ADV-166算法提高 聪明的美食家
- iis运行html提示500错误,IIS7出现HTTP错误500.22的解决办法
- Android studio如何导入已有的eclipse工程
- ImportError: IProgress not found. Please update jupyter and ipywidgets.
- hlw8032功率计测试软件,功率计量芯片LAYOUT指南
- 什么是ROM、EPROM、EEPROM、FLASH ROM、RAM?
- 你是哪一型---左右脑性格测试(转)
- linux6.5 xmanager配置,CentOS6.5安装Xmanager远程桌面
- js 伪造referer_javascript操作referer详细解析
- C语言 Windows文件选择对话框
- 众筹之家9月股权众筹行业简报
- git 上传空文件夹
- Day20.常用类:Date类、LocalTime、Math类、bigDecimal、Arrays、枚举