Quiz 6b Question 7————An Introduction to Interactive Programming in Python



Question 7

Convert the following English description into code.

  1. Initialize n to
    be 1000. Initialize numbers to
    be a list of numbers from 2 to n, but not including n.
  2. With results starting
    as the empty list, repeat the following as long as numbers contains
    any numbers.
    • Add the first number in numbers to
      the end of results.
    • Remove every number in numbers that
      is evenly divisible by (has no remainder when divided by) the number that you had just added to results.

How long is results?

To test your code, when n is
instead 100, the length of results is
25.

代码:

lis = list(range(2,1000))
print lis[0]
res =[]
print len(res)
res.append(lis[0])
while len(lis)>1:
for i in lis:
if i % res[-1]==0:
lis.remove(i)
res.append(lis[0])
print lis print len(res)

上一篇:Codeforces Round #379 (Div. 2) E. Anton and Tree 缩点 直径


下一篇:Redis进阶之redis的生命周期