Ask Your Question


asked 2014-10-18 17:32:22 +0200

anonymous user


updated 2014-10-18 17:46:29 +0200

vdelecroix gravatar image

To find numbers of the form 7aaa that are multiples of 7, I use:

sage:print [a for a in [0..9] if (7000+111*a)%7==0]
[0, 7]

I do not know how to write for 7|7abc.


edit retag flag offensive close merge delete


I reedit your question. Please double check that it is all right. It was not very clear.

vdelecroix gravatar imagevdelecroix ( 2014-10-18 17:45:49 +0200 )edit

Thank you for edit.

masac gravatar imagemasac ( 2014-10-18 17:48:27 +0200 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2014-10-18 17:51:02 +0200

vdelecroix gravatar image


There are various solutions. To generate the list of numbers of the form 7abc, you can use one of:

sage: numbers0 = range(7000,8000)
sage: numbers1 = [7000 + x for x in range(1000)]
sage: numbers2 = [7000 + a*100 + b*10 + c for a in range(10) for b in range(10) for c in range(10)]

Then you can check divisibility the very same way you did. But note that there is a faster way since x is a multiple of 7 if and only if x+7 is a multiple of 7. So once you find one, you only need to go 7 by 7.

Is that ok ?


edit flag offensive delete link more

answered 2014-10-18 18:09:42 +0200

masac gravatar image

updated 2014-10-18 18:17:50 +0200

I tried:

sage: a=range(7000,8000)
sage: print[a if a%7==0]
  File "<ipython-input-30-590163f2a51e>", line 1
print[a if a%Integer(7)==Integer(0)]
 SyntaxError: invalid syntax

I find a solution:

print [a for a in [7000..7999] if a%7==0]

Thank you for support.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2014-10-18 17:32:22 +0200

Seen: 2,116 times

Last updated: Oct 18 '14