第 171 题:计算两点间的距离
题目描述:
给你平面上两个点的坐标(x1, y1), (x2, y2), 请你计算并输出它们之间的距离,结果保留到小
数点后两位。
例如:x1=0, y1=0, x2=0, y2=1
则输出:1.00 示例:
输入:x1 = 0
y1 = 0
x2 = 0
y2 = 1
输出:1.00
>>> x1, y1, x2, y2 = 0,0,0,1 >>> '%.2f'%((x1-x2)**2+(y1-y2)**2)**0.5 '1.00' >>> x1, y1, x2, y2 = 1,1,4,5 >>> '%.2f'%((x1-x2)**2+(y1-y2)**2)**0.5 '5.00' >>> x1, y1, x2, y2 = -1,-2,11,3 >>> '%.2f'%((x1-x2)**2+(y1-y2)**2)**0.5 '13.00' >>>
============================================================
第 172 题:绝对值排序
题目描述:
给你一个列表 L, 对 L 按照绝对值从大到小排序,如果两个数绝对值相同,请将正数排在前
面。
输出排序后的列表,元素之间以一个空格分隔。
例如:L = [3,-4,2]
则输出:-4 3 2 示例:
输入:L = [4, 2, 25, -7777777, -100, 3, 157, 77777777, 367, -2]
输出:77777777 -7777777 367 157 -100 25 4 3 2 -2
>>> L = [4, 2, 25, -7777777, -100, 3, 157, 77777777, 367, -2] >>> sorted(L,key=lambda x:(abs(x),x),reverse=True) [77777777, -7777777, 367, 157, -100, 25, 4, 3, 2, -2] >>> L.sort(key=lambda x:(abs(x),x),reverse=True) >>> L [77777777, -7777777, 367, 157, -100, 25, 4, 3, 2, -2] >>>
============================================================
第 173 题:本原串
题目描述:
由0和1组成的串中,不能被分解为多个相同子串的字符串称为本原串。例如,100100不是本原串,因为它能被分解为两个100;而1101是本原串,因为它不能被分解为多个相同的子串。请你计算长度为n(0<n<=100000000)的0-1串中,有多少个本原串?由于最终的结果可能会很大,因此请输出答案%2017(答案数取模2017)。
例如: n = 1, 则输出:2
n =2, 则输出:2
说明:长度为 1 的本原串有两个,分别为"0"、"1"; 长度为 2 的本原串也有两个,分别"01"、"10"。
============================================================
第 174 题:矩形个数
题目描述:
给你一个高为n (0 < n < 100),宽为m(0 < m < 100)列的网格,计算出这个网格中有共多少个矩形?
例如:
n = 1, m = 2 时,输出:3
n = 2, m = 4 时,输出:30
>>> func=lambda n,m:sum(range(1, n+1))*sum(range(1, m+1)) >>> n,m = 1,2 >>> func(n,m) 3 >>> n,m = 2,4 >>> func(n,m) 30 >>>
============================================================
第 175 题:汉诺塔
题目描述:
描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块
黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上
地穿好了由大到小的 64 片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按
照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧
侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹
雳中消灭,而梵塔、庙宇和众生也都将同归于尽。现在请你计算出起始有 n 个金片的汉诺塔
金片全部移动到另外一个针上时需要移动的最少步数是多少?输入每组测试数据是一个整
数 n,表示起始时金片的个数。(0 输出输出把金片起始针上全部移动到另外一个针上需要移
动的最少步数。
示例:
输入:n = 3
输出:7
print(2**n - 1)