最小公倍数 golang + python

描述

给定两个正整数,计算这两个数的最小公倍数。

输入描述

输入包含多组测试数据,每组只有一行,包括两个不大于1000的正整数。

输出描述

对于每个测试用例,给出这两个数的最小公倍数,每个实例输出一行。

输入样例

20 15

输出样例

60

代码

import sys

def div(a,b):
    temp=a%b
    if temp ==0:
        return b
    return div(b,temp)
if __name__=="__main__":
    for line in sys.stdin:
        nums=line.split(" ")
        if len(nums)!=2:
            print("error")
        max=int(nums[0])
        min=int(nums[1])
        if max<min:
            max,min=min,max
        print(int(max*min/div(max,min)))    
        # print(line) # please replace your code here
package main
import (
    "fmt"
)

func div(a,b int)int{
    if a<b{
        a,b=b,a
    }
     temp :=a%b
    for temp!=0{
        a=b
        b=temp
        temp=a%b
    }
    return b
}
func main() {
    var a,b int 
    fmt.Scan(&a,&b)
    //fmt.Println(a,b)
    fmt.Printf("%d",a*b/div(a,b))
    // please write your code here
}
//思路是正确的,自测没问题,机测居然有问题,待研究,估计又是打印的问题

总结

题目相对简单,主要是练习一下python的编码,注意cleanCode.

  1. 字符串的处理函数 line.split(" ")
  2. 强转 max=int(nums[0])
  3. 同时赋值 max,min=min,max
  4. 最小公倍数如何获得?这个问题考虑一段时间,最终还是百度的。

参考链接

原文地址:https://www.cnblogs.com/meiguhuaxian/p/13564644.html