47 lines
2.1 KiB
Python
47 lines
2.1 KiB
Python
# 一.1,2,3,4四个数字,能组合成多少种互不相同且没有重复的三位数.
|
||
# 通过循环去不断的进行组合
|
||
# 抓住限制条件
|
||
# 核心就是循环的嵌套:外层循环一次,内层循环要全部完成一轮,依次类推...
|
||
# 根据下面的案例:外层1次,内层10次,外层10次,内层100次,外层循环一次,内层全部完成一轮
|
||
# for i in range(1,11): # 外层循环一次
|
||
# for j in range(1,11):# 内层循环十次,如果外层循环10次,内层循环100次
|
||
# print(end='')
|
||
|
||
# 代码
|
||
# 主要:组合成三位数
|
||
# for i in range(1,5): # i=1,2,3,4
|
||
# for j in range(1,5): # j=1,2,3,4
|
||
# for k in range(1,5): # k = 1,2,3,4
|
||
# # num = i + j + k # 不能直接将数字进行相加,而是拼接成一个数字
|
||
# # num = 100 * i + 10 * j + k # 组合成三位数
|
||
# if i != j and j != k and i != k:# 互不相同
|
||
# num = int(str(i) + str(j) + str(k)) # 转换成字符串进行拼接,最终变成字符串,可以继续转换
|
||
# print(num,end=',')
|
||
|
||
|
||
# 百钱白鸡,问:公鸡5元每只,母鸡3元每只,小鸡1元3只,100元买一百只鸡多少种办法?
|
||
# 通过循环去不断的进行组合(循环组合抓住起点和终点)
|
||
# 抓住限制条件
|
||
|
||
# 比如:
|
||
# 通过循环组合买公鸡,起点是买0只,终点是买20只(100/5=20)
|
||
# 通过循环组合买母鸡,起点是买0只,终点是买33只(100/3)
|
||
# 通过循环组合买小鸡,起点是买0只,终点是买100只(最多100只)
|
||
|
||
# 最终死死的抓住条件
|
||
# 假设公鸡:i只 母鸡:j只 小鸡:k只
|
||
# 条件: i + j + k == 100 i*5 + j*3 + k*1/3 == 100
|
||
|
||
# 代码
|
||
for i in range(0,21): # 公鸡
|
||
for j in range(0,33): # 母鸡
|
||
for k in range(0,101): # 小鸡
|
||
if (i + j + k == 100) and (i*5 + j*3 + k*1/3 == 100):
|
||
print(f'你买了{i}只公鸡,{j}只母鸡,{k}只小鸡')
|
||
|
||
"""
|
||
你买了0只公鸡,25只母鸡,75只小鸡
|
||
你买了4只公鸡,18只母鸡,78只小鸡
|
||
你买了8只公鸡,11只母鸡,81只小鸡
|
||
你买了12只公鸡,4只母鸡,84只小鸡
|
||
""" |