两个相对直接的任务开始新的一年。
abioqian0,My solutions
任务1:最大差距
任务
您获得了整数列表,@list
。
编写一个脚本以在排序列表中找到总和,其中2个连续的元素具有最大差距。如果列表包含少于2个元素,则返回0。
我的解决方案
对于此任务,我定义了两个变量。 gap
值记录了到目前为止两个数字之间最大的差距,而count
值记录了差距的出现数量。
我要做的第一件事是(数值)对列表进行排序。然后,我从0到列表的大小减去两个。对于每次迭代,我将该位置值的值与下一个位置的位置进行比较。如果差距更大,我将gap
设置为差,并将count
重置为1。如果差异与当前差距相同,则我将1增加到count
。
最后,我显示了count
的值。
例子
$ ./ch-1.py 2 5 8 1
2
$ ./ch-1.py 3
0
任务2:素数
任务
您得到了一个整数$n > 0
。
写一个脚本以打印小于$n
的素数。
我的解决方案
是时候拉出我可信赖的is_prime
方法了。这是挑战177的任务2中的最后一次使用。i迭代从1到n-1
,如果这个数字是素数,则在count
中添加了一个。然后我显示count
的值。
例子
$ ./ch-2.py 10
4
$ ./ch-2.py 15
6
$ ./ch-2.py 1
0
$ ./ch-2.py 25
9