aW1wb3J0IHJhbmRvbQoKZGVmJm5ic3A7Z2VuZXJhdGVfZGx0XzMwXzEwKCk6CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyMmbmJzcDvliY3ljLrojIPlm7QmbmJzcDswMS0zNQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtmcm9udF9wb29sJm5ic3A7PSZuYnNwO2xpc3QocmFuZ2UoMSwmbmJzcDszNikpCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyMmbmJzcDvlkI7ljLrojIPlm7QmbmJzcDswMS0xMgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtiYWNrX3Bvb2wmbmJzcDs9Jm5ic3A7bGlzdChyYW5nZSgxLCZuYnNwOzEzKSkKCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyMmbmJzcDvpmo/mnLrmir3lj5YKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZnJvbnRfc2VsZWN0ZWQmbmJzcDs9Jm5ic3A7c29ydGVkKHJhbmRvbS5zYW1wbGUoZnJvbnRfcG9vbCwmbmJzcDszMCkpJm5ic3A7Jm5ic3A7IyZuYnNwO+WJjeWMuumAiTMw5LiqCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2JhY2tfc2VsZWN0ZWQmbmJzcDs9Jm5ic3A7c29ydGVkKHJhbmRvbS5zYW1wbGUoYmFja19wb29sLCZuYnNwOzEwKSkmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsjJm5ic3A75ZCO5Yy66YCJMTDkuKoKCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyMmbmJzcDvmnKrpgInkuK3nmoTlj7fnoIEKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZnJvbnRfbWlzc2luZyZuYnNwOz0mbmJzcDtzb3J0ZWQobGlzdChzZXQoZnJvbnRfcG9vbCkmbmJzcDstJm5ic3A7c2V0KGZyb250X3NlbGVjdGVkKSkpCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2JhY2tfbWlzc2luZyZuYnNwOz0mbmJzcDtzb3J0ZWQobGlzdChzZXQoYmFja19wb29sKSZuYnNwOy0mbmJzcDtzZXQoYmFja19zZWxlY3RlZCkpKQoKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IyZuYnNwO+agvOW8j+WMlui+k+WHuuS4uuS4pOS9jeaVsAombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtkZWYmbmJzcDtmbXRfbnVtcyhudW1zKToKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7W2YmcXVvdDt7bjowMmR9JnF1b3Q7Jm5ic3A7Zm9yJm5ic3A7biZuYnNwO2luJm5ic3A7bnVtc10KCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3ByaW50KCZxdW90Oz09PSZuYnNwO+Wkp+S5kOmAjyZuYnNwOzMwKzEwJm5ic3A76ZqP5py65aSN5byPJm5ic3A7PT09JnF1b3Q7KQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtwcmludCgmcXVvdDvliY3ljLombmJzcDszMCZuYnNwO+S4quWPt+eggTomcXVvdDssJm5ic3A7JnF1b3Q7Jm5ic3A7JnF1b3Q7LmpvaW4oZm10X251bXMoZnJvbnRfc2VsZWN0ZWQpKSkKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cHJpbnQoJnF1b3Q75YmN5Yy65pyq5Ye6546w5Y+356CBOiZxdW90OywmbmJzcDsmcXVvdDsmbmJzcDsmcXVvdDsuam9pbihmbXRfbnVtcyhmcm9udF9taXNzaW5nKSkpCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3ByaW50KCZxdW90O+WQjuWMuiZuYnNwOzEwJm5ic3A75Liq5Y+356CBOiZxdW90OywmbmJzcDsmcXVvdDsmbmJzcDsmcXVvdDsuam9pbihmbXRfbnVtcyhiYWNrX3NlbGVjdGVkKSkpCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3ByaW50KCZxdW90O+WQjuWMuuacquWHuueOsOWPt+eggTomcXVvdDssJm5ic3A7JnF1b3Q7Jm5ic3A7JnF1b3Q7LmpvaW4oZm10X251bXMoYmFja19taXNzaW5nKSkpCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3ByaW50KCZxdW90O1xu5rOo5pWw6K6h566XOiZxdW90OykKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aW1wb3J0Jm5ic3A7bWF0aAombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjX2Zyb250Jm5ic3A7PSZuYnNwO21hdGguY29tYigzMCwmbmJzcDs1KQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjX2JhY2smbmJzcDs9Jm5ic3A7bWF0aC5jb21iKDEwLCZuYnNwOzIpCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3RvdGFsX2NvbWJpbmF0aW9ucyZuYnNwOz0mbmJzcDtjX2Zyb250Jm5ic3A7KiZuYnNwO2NfYmFjawombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtwcmludChmJnF1b3Q75YmN5Yy657uE5ZCI5pWwJm5ic3A7QygzMCw1KSZuYnNwOz0mbmJzcDt7Y19mcm9udH0mcXVvdDspCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3ByaW50KGYmcXVvdDvlkI7ljLrnu4TlkIjmlbAmbmJzcDtDKDEwLDIpJm5ic3A7PSZuYnNwO3tjX2JhY2t9JnF1b3Q7KQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtwcmludChmJnF1b3Q75oC75rOo5pWwJm5ic3A7PSZuYnNwO3t0b3RhbF9jb21iaW5hdGlvbnM6LH0mbmJzcDvms6gmcXVvdDspCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3ByaW50KGYmcXVvdDvmipXms6jph5Hpop0mbmJzcDs9Jm5ic3A7e3RvdGFsX2NvbWJpbmF0aW9ucyZuYnNwOyombmJzcDsyOix9Jm5ic3A75YWDJnF1b3Q7KQoKIyZuYnNwO+i/kOihjOWHveaVsAppZiZuYnNwO19fbmFtZV9fJm5ic3A7PT0mbmJzcDsmcXVvdDtfX21haW5fXyZxdW90OzoKJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Z2VuZXJhdGVfZGx0XzMwXzEwKCk=
import random
def generate_dlt_30_10():
# 前区范围 01-35
front_pool = list(range(1, 36))
# 后区范围 01-12
back_pool = list(range(1, 13))
# 随机抽取
front_selected = sorted(random.sample(front_pool, 30)) # 前区选30个
back_selected = sorted(random.sample(back_pool, 10)) # 后区选10个
# 未选中的号码
front_missing = sorted(list(set(front_pool) - set(front_selected)))
back_missing = sorted(list(set(back_pool) - set(back_selected)))
# 格式化输出为两位数
def fmt_nums(nums):
return [f"{n:02d}" for n in nums]
print("=== 大乐透 30+10 随机复式 ===")
print("前区 30 个号码:", " ".join(fmt_nums(front_selected)))
print("前区未出现号码:", " ".join(fmt_nums(front_missing)))
print("后区 10 个号码:", " ".join(fmt_nums(back_selected)))
print("后区未出现号码:", " ".join(fmt_nums(back_missing)))
print("\n注数计算:")
import math
c_front = math.comb(30, 5)
c_back = math.comb(10, 2)
total_combinations = c_front * c_back
print(f"前区组合数 C(30,5) = {c_front}")
print(f"后区组合数 C(10,2) = {c_back}")
print(f"总注数 = {total_combinations:,} 注")
print(f"投注金额 = {total_combinations * 2:,} 元")
# 运行函数
if __name__ == "__main__":
generate_dlt_30_10()