【自留笔记】排列组合


#全排列 1~n中选m个数全排列
def dfs(path,n,m):
    if len(path) == m:
        print(path)
        return
    for i in range(1,n+1):
        if i in path:
            continue
        path.append(i)
        dfs(path,n,m)
        path.pop()

n,m = map(int,input().split())
dfs([],n,m)
#递归组合 1~n中选m个数 组合
n,m = map(int,input().split())

def dfs(start,path,n,m):
    if len(path) == m:
        for item in path:
            print(item, end=" ")
        print()
        return
        
    for i in range(start,n+1):
        if i in path:
            continue
        path.append(i)
        dfs(i+1,path,n,m)
        path.pop()

dfs(1,[],n,m)

#非递归组合
n,m = map(int,input().split())
li = []
for i in range(1,n+1):
    li.append(i)
    j = i + 1
    while li:
        if len(li) == m:
            print(li)
            li.pop()
        elif j not in li and j <= n:
            li.append(j)
            j += 1
            continue
        elif j > n:
            j = li[-1] + 1
            li.pop()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 你可以使用 SQL 的 CASE-WHEN 语句来替换地块类别。下面是一个例子: ``` UPDATE table_name SET dklb = CASE WHEN dklb = 10 THEN '承包地块' WHEN dklb = 21 THEN '自留地' WHEN dklb = 22 THEN '机动地' WHEN dklb = 23 THEN '开荒地' WHEN dklb = 99 THEN '其他集体土地' ELSE dklb END ``` 这句话就是说更新表中所有dklb字段中等于10 的为承包地块,等于21的为自留地,等于22的为机动地,等于23的为开荒地,等于99的为其他集体土地,其他的保持不变。 当然,还可以在查询中使用CASE-WHEN,来达到替换字段值相同的目的,如下 ``` SELECT dklb, CASE WHEN dklb = 10 THEN '承包地块' WHEN dklb = 21 THEN '自留地' WHEN dklb = 22 THEN '机动地' WHEN dklb = 23 THEN '开荒地' WHEN dklb = 99 THEN '其他集体土地' ELSE '其他' END AS dklb_name FROM table_name; ``` 如上,就是选取表中的dklb字段和替换后的dklb_name,其中dklb_name是用原来的dklb字段来替换达到相同的目的,在这里是只是展示目的,并没有对原始数据进行修改 ### 回答2: 可以使用SQL的CASE WHEN语句来替换地块类别字段dklb的值。根据题目描述,我们需要将字段dklb的值替换为相应的地块类别。 假设表名为land,可以使用以下SQL语句来实现替换操作: ``` UPDATE land SET dklb = CASE WHEN dklb = 10 THEN '承包地块' WHEN dklb = 21 THEN '自留地' WHEN dklb = 22 THEN '机动地' WHEN dklb = 23 THEN '开荒地' WHEN dklb = 99 THEN '其他集体土地' ELSE '未知类别' END; ``` 上述语句中,CASE WHEN语句会根据字段dklb的值进行判断,当满足条件时,将对应的地块类别字符串赋值给dklb字段。如果字段值不在给定的条件范围内,则会被替换为'未知类别'。 执行以上SQL语句后,字段dklb的值将被替换成相应的地块类别,实现了对地块类别的替换操作。 ### 回答3: 可以使用SQL的CASE WHEN语句来替换地块类别字段。 CASE WHEN语句的语法如下: CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE result END 根据题目要求,我们可以使用如下的CASE WHEN语句来替换地块类别字段‘dklb’: SELECT CASE WHEN dklb = 10 THEN '承包地块' WHEN dklb = 21 THEN '自留地' WHEN dklb = 22 THEN '机动地' WHEN dklb = 23 THEN '开荒地' WHEN dklb = 99 THEN '其他集体土地' ELSE '未知' END AS 地块类别 FROM my_table; 以上语句将根据‘dklb’字段的值,返回对应的地块类别。如果‘dklb’的值为10,则返回‘承包地块’,如果‘dklb’的值为21,则返回‘自留地’,以此类推。如果‘dklb’的值不在这些条件中,则返回‘未知’。 注意:将my_table替换为实际的表名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值