平衡数

2021-07-14  本文已影响0人  少女萌的进击之路

平衡数,平衡数的定义是:将一个数分成左右两部分,分别成为两个新的数。

左右部分必须满足以下两点:

1,左边和右边至少存在一位。

2,左边的数每一位相乘如果等于右边的数每一位相乘,则这个数称为平衡数。

例如:1221这个数,分成12和21的话,1*2=2*1,则称1221为平衡数,

再例如:1236这个数,可以分成123和1*2*3=6,所以1236也是平衡数。

而1234无论怎样分也不满足平衡数。

输入描述

        输入一个正整数(int范围内)。

输出描述

        如果该数是平衡数,输出 "YES", 否则输出 "NO"。

示例1

    输入

        1221

        1234

    输出

        YES

        NO

"""

def compare_num(str_nums):

    flag = False

    for i in range(len(str_nums)):

        left_num = 1

        right_num = 1

        for j in range(0, i + 1):

            left_num *= int(str_nums[j])

        for j in range(i + 1, len(str_nums)):

            right_num *= int(str_nums[j])

        print(right_num, left_num)

        if left_num == right_num:

            flag = True

    return flag

if __name__ == "__main__":

    str_nums = input("输入一个正整数(int范围内):")

    if compare_num(str_nums) == True:

        print("YES")

    else:

        print("NO")

上一篇 下一篇

猜你喜欢

热点阅读