返回题解分享
讨论 / 题解分享/ 帖子详情

数的分解(结果填空) - 题解

def contains_2_or_4(num):
    """检查数字中是否包含2或4"""
    return '2' in str(num) or '4' in str(num)

def generate_valid_numbers(limit):
    """生成不包含数字2和4的正整数列表"""
    valid_numbers = []
    for i in range(1, limit):
        if not contains_2_or_4(i):
            valid_numbers.append(i)
    return valid_numbers

def count_unique_combinations(total):
    """计算符合条件的组合数量"""
    valid_numbers = generate_valid_numbers(total)
    number_set = set(valid_numbers)  # 使用集合以便快速查找
    count = 0
    length = len(valid_numbers)
    for i in range(length):
        for j in range(i+1, length):
            a = valid_numbers[i]
            b = valid_numbers[j]
            c = total - a - b
            # 检查 c 是否有效且大于 b(保证 c 不重复且比 b 大)
            if c in number_set and c > b:
                count += 1
    return count

# 目标和
total_sum = 2019

# 计算结果
result = count_unique_combinations(total_sum)
print(result)
0 回复 0 转发 0 喜欢 7 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!