- 博客(10)
- 收藏
- 关注
原创 数的读法(未解决,不会做。。。)
问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。 比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。 所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法: 十二亿三千四百五十六万七千零九 用汉语拼音表示为 shi er yi san qian si bai wu shi liu wan qi qian
2022-03-10 16:26:32
157
原创 python小技巧
目录 跳出双重循环 汉诺塔问题:n个盘要移动2的n次方-1 跳出双重循环 一旦内部循环break,同时也跳出外层循环 n=3 for i in range(n): for j in range(n): if j==1:break else:continue break 如一旦j=1,break跳出内层循环后,不会执行else的内容,而是直接执行else下面的语句,即break 汉诺塔问题:n个盘要移动2的n次方-1 ...
2022-03-04 09:47:24
707
原创 递归的总结思考及相关题
在求解f(n, other variables)的时候,我们直接默认f(n - 1, other variables)已经算完就可以了 递归的关键有两个: (1)递归的结束条件 (2)递归最后一层和其他有关系的层的关系怎样用非递归函数来表达 N皇后 思路: 一行一行找;第一行可以任意放,确定第一行后就确定了第二行,也就确定了第三行。。。 要是能找到最后一行,也就是方案成立了。 n = int(input()) pos=[n for i in range(n)] def queen(k
2022-03-03 20:50:16
360
原创 DAY3-位运算及 常用输出格式
针对二进制!!! 1、按位与 & 如果两个二进制位都为1,则结果是1,否则是0 2、按位或 | 如果两个二进制位都为0,则结果是0,否则是1 3、按位取反 ~ 该位为0,则变为1,否则变为0 4、按位异或 ^ 如果两个数字的二进制位相同,则结果为0,相异则结果为1 1.左移<< 如a << 2 ,向左移2位,右侧补2个0 最右侧直接补0;(左移相当于乘法,如左移1位,相当于乘以2的1次方) 2.右移>> 右移相当于除法...
2022-03-02 11:15:44
192
原创 回溯算法相关
2.28 放苹果 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?5,1,1和1,5,1 是同一种分法. 代码:用dfs num=[0 for i in range(n+1)] s=0 def dfs(m,x): #x为放了几个盘子 global s if x>n or m<0: return if m==0 and x==n: s+=1 print(num,x)
2022-03-02 08:26:40
99
原创 递归实现枚举的三种题目
从1∼n1∼n这nn个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数nn。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好11个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。 数据范围 1≤n≤151≤n≤15 输入样例: 3 输出样例: 3 2 2 3 1 1 3 1 2 1 2 3 代码: 自己做了个题目变形,这里自己输入一个无重复...
2022-03-01 10:50:00
180
原创 python 列表去重及sort用法
去重(均保持了原来的顺序) ① orgList = [1,5] formatList = list(set(orgList)) formatList.sort(key=orgList.index) print (formatList) Sort 默认reverse=False 升序 ① x = ['mmm', 'mm', 'mm', 'm' ] x.sort(key = len) >>['m', 'mm', 'mm', 'mmm'] ② d=['CCC...
2022-02-27 10:09:46
1622
原创 洛谷-排序题
洛谷P1116 车厢重组 题目描述 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。 输入格式 共两行。 第一行是车厢总数N( \le 10000)N(≤10000).
2022-02-26 21:43:01
292
原创 day1-打表法和模拟法
即把所有数都列举 题目描述: 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 看这个算式: ☆☆☆ + ☆☆☆ = ☆☆☆ 如果每个五角星代表 1 ~ 9 的不同的数字。这个算式有多少种可能的正确填写方法? 173 + 286 = 459 295 + 173 = 468 173 + 295 = 468 183 + 492 = 675 以上都是正确的填写法! 注意:111+222=333 是错误的填写法!因为每个数字必须是不同的!也就是说:1 ~ 9 中的所有数字,每个必须出现.
2022-02-26 18:32:20
205
原创 学习day1--排序
简单排序 def selection_sort(a): n = len(a) for i in range(n - 1): k = i for j in range(i + 1, n): if a[j] < a[k]: k = j if k != i: temp = a[i] #把原来的值先储存起来 a[i] = a[k] #把最小值赋..
2022-02-26 15:11:56
110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅