📌  相关文章
📜  国际空间研究组织 | ISRO CS 2020 |第 75 题(1)

📅  最后修改于: 2023-12-03 15:07:35.132000             🧑  作者: Mango

ISRO CS 2020 第 75 题

这是 ISRO 2020 年度招聘计划中的第 75 道题目。该题目考查了对 Python 中用于整数操作的概念和函数的理解。下面是题目描述:

给定两个整数 A 和 B,编写一个程序,计算它们的 GCD 和 LCM。如果两个数之一为 0,则 GCD 和 LCM 都应该为 0。如果两个数都为 0,则返回 0。

代码实现
def gcd(a, b):
    """
    计算两个数的最大公约数
    """
    if b == 0:
        return a
    else:
        return gcd(b, a % b)


def lcm(a, b):
    """
    计算两个数的最小公倍数
    """
    if a == 0 or b == 0:
        return 0
    else:
        return abs(a * b) // gcd(a, b)


def main():
    a = int(input("请输入第一个整数:"))
    b = int(input("请输入第二个整数:"))
    greatest_common_divisor = gcd(a, b)
    least_common_multiple = lcm(a, b)
    
    print("最大公约数为:", greatest_common_divisor)
    print("最小公倍数为:", least_common_multiple)


if __name__ == '__main__':
    main()

代码说明

代码实现主要分为三个部分:

  1. gcd 函数:求两个数的最大公约数,采用辗转相除法的思想递归实现,并返回最大公约数。
  2. lcm 函数:求两个数的最小公倍数,采用求两个数的积除以最大公约数的方法实现,并返回最小公倍数。
  3. main 函数:主函数,通过调用上述两个函数得到最大公约数和最小公倍数,并输出结果。

程序首先要求用户输入两个整数,然后分别计算它们的最大公约数和最小公倍数,最后输出结果。

运行结果
请输入第一个整数: 24
请输入第二个整数: 18
最大公约数为: 6
最小公倍数为: 72
返回Markdown格式

ISRO CS 2020 第 75 题

这是 ISRO 2020 年度招聘计划中的第 75 道题目。该题目考查了对 Python 中用于整数操作的概念和函数的理解。下面是题目描述:

给定两个整数 A 和 B,编写一个程序,计算它们的 GCD 和 LCM。如果两个数之一为 0,则 GCD 和 LCM 都应该为 0。如果两个数都为 0,则返回 0。

代码实现
def gcd(a, b):
    """
    计算两个数的最大公约数
    """
    if b == 0:
        return a
    else:
        return gcd(b, a % b)


def lcm(a, b):
    """
    计算两个数的最小公倍数
    """
    if a == 0 or b == 0:
        return 0
    else:
        return abs(a * b) // gcd(a, b)


def main():
    a = int(input("请输入第一个整数:"))
    b = int(input("请输入第二个整数:"))
    greatest_common_divisor = gcd(a, b)
    least_common_multiple = lcm(a, b)
    
    print("最大公约数为:", greatest_common_divisor)
    print("最小公倍数为:", least_common_multiple)


if __name__ == '__main__':
    main()

代码说明

代码实现主要分为三个部分:

  1. gcd 函数:求两个数的最大公约数,采用辗转相除法的思想递归实现,并返回最大公约数。
  2. lcm 函数:求两个数的最小公倍数,采用求两个数的积除以最大公约数的方法实现,并返回最小公倍数。
  3. main 函数:主函数,通过调用上述两个函数得到最大公约数和最小公倍数,并输出结果。

程序首先要求用户输入两个整数,然后分别计算它们的最大公约数和最小公倍数,最后输出结果。

运行结果
请输入第一个整数: 24
请输入第二个整数: 18
最大公约数为: 6
最小公倍数为: 72