趣味算法之趣味分数

这是一个包含多个趣味算法实现的代码集合,包括求最大公约数、最小公倍数、比较分数大小、寻找满足特定条件的自然数组合、分数分解为埃及分数、数列求和以及猴子分桃问题的解决方案。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-
"""
Created on Wed Dec 07 18:43:25 2016
趣味百题之趣味分数

@author: onlyyo
"""

# 1.求任意两个整数的最大公约数
def fun(n,m):
    
    if n > m:
        n,m = m,n
    while True:
        m,n = n, m%n
        if n == 0:
            break
        
    return m
    
fun(17,5)

#2.求任意3个整数的最小公倍数。
def fun(a,b,c):
    if b > a:
        a,b = b,a
    if c > a:
        a,c = c,a
        
    ans = a
    while ans%b or ans%c:
        ans += a
        
    return ans    
    
fun(4,6,8) 

# 3. 比较任意两个分数大小
def fun(x,y):
    a,b = x
    c,d = y
    
    diff = a*d - b*c
    if diff > 0:
        print "{0}/{1} 比 {2}/{3}大".format(a,b,c,d)
    else:
        print "{0}/{1} 比 {2}/{3}小".format(a,b,c,d)
    
fun((2,5),(3,6))    
    
  
# 4.求这样的4个自然数p、q、r、s(p<=q<=r<=s),使得一下等式成立:1/p+1/q+1/r+1/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值