咸阳做网站的公司有哪些/百度的网站网址
对于阶乘而言, Python提供了极其具有便利的range方法;
可以生成一个按照自己意愿的数字序列;
弱今天才明白它本质就是c中的for语句条件;
举几个例子:(举例皆前者为C语言,后者为Python3)
(1) 对于 for(int i = 0 ; i < 11;i++) 就等同于 for i in range(11)
PS: 这里的range生成是从0开始 , 需要注意
(2)对于 for(int i = 1 ; i <=11 ; i++) 就等同于 for i in range(1,12)
PS:这里的range如果从1开始需要特殊说明,并且需要注意stop于后面下标的前一位;既这里的12实质上循环只到11
(3)对于for(int i = 1; i <=11 ;i+=2) 就等同于 for i in range(1,12,2)
PS::这就是range的第三个参数,自加属性;
总结:对于range方法,代表从a为起点,b-1为终点每次自加c ;; 没有a默认a=0 ;没有b默认死循环;没有c默认c=1 ;
所以懂了这三个属性后, 则很容易写出阶乘题目,并且Python支持取余符号;
阶乘代码:
import sys
a =input()
n,m = a.split(' ')
n = int(n)
m = int(m)
summ = 1 ;
for i in range(1,n+1):summ = summ * i
print(summ%m)
以上皆为弱自行理解,如果有语法不对的请及时告知 , Orz
更新:Python3有自带的阶乘函数,在import math 里面, factorial(n)代表对n求阶乘;
并且可以用map映射来接受两个数字的值;
import math
n, m = map(int, input().split()) #这里代表的就是读入以空格分隔然后换为int类型
print(math.factorial(n) % m)