码迷,mamicode.com
首页 > 编程语言 > 详细

07:python常见算法题

时间:2019-02-28 16:35:35      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:dem   strong   one   16px   开始   去重   pre   组成   出栈   

1、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

技术图片
#! /usr/bin/env python
# -*- coding: utf-8 -*-
#题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
sum=0
for i in range(1,5,1):
    for j in range(1,5,1):
        for k in range(1,5,1):
            if i!=j and i!=k and k!=j :
                sum=sum+1
                print i,j,k  # 这里去重
print sum
demo.py

 2、求n的阶乘

技术图片
#! /usr/bin/env python
# -*- coding: utf-8 -*-
def f(n):
    if n == 1:
        return 1
    else:
        return n * f(n-1)
print f(3)  # 6

‘‘‘ 推演:
3   # 递归第一层 n=3:f(3) 入栈:【f(3),】
2   # 递归第二层 n=2:f(2) 入栈:【f(3), f(2)】
1   # 递归第三层 n=1
######## 递归到此时 n=1 不满足递归条件开始出栈  ##########
【n:2】【ret:2】 f(2) = 2 * f(1) = 1 * 2
【n:3】【ret:6】 f(3) = 3 * f(2) = 3 * 2 * 1
‘‘‘
求阶乘:递归

 

 

 

 

 

 

 

 

 

111111111

07:python常见算法题

标签:dem   strong   one   16px   开始   去重   pre   组成   出栈   

原文地址:https://www.cnblogs.com/xiaonq/p/10451197.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!