07:python常见算法题

Posted xiaonq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了07:python常见算法题相关的知识,希望对你有一定的参考价值。

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常见算法题的主要内容,如果未能解决你的问题,请参考以下文章

数据结构和算法-面试题

链表类常见算法题总结

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

算法竞赛入门码蹄集进阶塔335题(MT3330-3335)

13 个非常有用的 Python 代码片段

Java常见算法——冒泡排序选择排序