Python第五天课后作业
2017-09-04 09:06
281 查看
第一题
输入一个正整数n,求n!(即阶乘)末尾0的个数
第二题
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。
第三题
回文串的设计与判断
输入一个正整数n,求n!(即阶乘)末尾0的个数
**方法一** n=input("please input n:") count=0 #计算阶乘 def factorial(x1,x2): return x1*x2 #计算阶乘末尾0的个数 def factorial_zero(x): global count #引用全局变量 if x%10==0: count=count+1 factorial_zero(x/10) return count result=reduce(factorial,range(1,n+1)) print result #打印阶乘 print factorial_zero(result)
**方法二** count=0 zero=0 #变量zero记录0的个数 def caculate(num): global count,zero for i in range(1,num): count=num/(5**i) zero+=count if count==0: return zero n=input("please input n:") print caculate(n)
第二题
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。
#以空格分隔,将输入的数字存入列表中 l=[int(i) for i in raw_input().split()] def compare(x,y): if str(x)+str(y)>str(y)+str(x): return -1 elif str(x)+str(y)<str(y)+str(x): return 1 else: return 0 print sorted(l,compare)
第三题
回文串的设计与判断
#判断回文字符串 def Palindrome(string): if string==string[::-1]: return True else: return False strA=raw_input() strB=raw_input() #字符串A长度为length,共有length+1种插法 for i in range(0,len(strA)+1): newstr=strA[:i]+strB+strA[i:] if Palindrome(newstr): count+=1 print count
相关文章推荐
- Python第五天课后作业
- Python第五天课后作业
- Python第五天课后作业
- Python第五天课后作业
- Python3-小甲鱼教程 【课后作业及答案】004改进我们的小游戏
- Python第一天课后作业
- Python学习-课后作业2
- Python第一天课后作业
- 机器学习:吴恩达Coursera机器学习课后作业答案MATLAB和Python版本分享
- Python第一天课后作业
- Python数据分析与展示 | 【第一周】数据分析之表示 课后作业
- Python第六天课后作业
- Python第一天课后作业
- Python数据分析与展示 | 【第二周】数据分析之展示 课后作业
- Python第六天课后作业
- Python第一天课后作业
- Python第六天课后作业
- Python第六天课后作业
- Python3-小甲鱼教程 【课后作业及答案】004改进我们的小游戏
- DC学院课程-Python爬虫(入门+进阶)-课后作业分析