zoukankan      html  css  js  c++  java
  • 06:数学

    算法面试其他篇

    目录:

    1.1 简单数学题

      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
    三位无重复数字

      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
    '''
    求n的阶乘:递归

      3、python实现十进制转任意进制

    def f(n,x):
        '''
        :param n: n为待转换的十进制数
        :param x: x为机制,取值为2-16
        :return: 返回转换后的进制数
        '''
        a=['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F']
        b=[]
        while True:
            s=n//x   #
            y=n%x    # 余数
            b=b+[a[y]]
            if s==0:
                break
            n=s
        return "".join(b[::-1])
    s = f(26,16)
    print(s)   # 1A
    python实现十进制转任意进制

    111111111111111

  • 相关阅读:
    Echarts
    递归
    svg(二)---半瓶子晃荡
    svg(一)
    angular --- s3core移动端项目(三)
    angular --- s3core移动端项目(二)
    angular --- s3core移动端项目
    当后台获取内容有标签时如何过滤---angular
    匿名函数的作用域
    Mybatis从浅入深(IDEA版通俗易懂)
  • 原文地址:https://www.cnblogs.com/xiaonq/p/10488297.html
Copyright © 2011-2022 走看看