Re: 03 digression by brute force

2018-12-16 Thread BlindAnagram
On 14/12/2018 02:24, jf...@ms4.hinet.net wrote: > Just for fun:-) On my ooold PC, it takes 0.047 seconds to run the following > algorithm on the problem 'SNED + MORE == MONEY". > > - > import time > import itertools > > #S, E, N, D, M, O, R, Y > n = 0 > digits = {x fo

RE: Smarter algo, was Re: 03 digression by brute force

2018-12-16 Thread Avi Gross
--Original Message- From: Python-list On Behalf Of BlindAnagram Sent: Saturday, December 15, 2018 7:41 AM To: python-list@python.org Subject: Re: Smarter algo, was Re: 03 digression by brute force <<>> There are quite a few Python based solvers for alphametics around on the net,

Re: Smarter algo, was Re: 03 digression by brute force

2018-12-16 Thread jfong
is is much faster. > >> > >> Range() is probably a highly efficient built-in written in C, but it can > >> totally be eliminated in this code as it is a constant. You can write > >> {1,2,2,3,4,5,6,7,8,9} or [0,1] instead of calculating ranges. > >> > >>

Re: Smarter algo, was Re: 03 digression by brute force

2018-12-15 Thread BlindAnagram
, but it can >> totally be eliminated in this code as it is a constant. You can write >> {1,2,2,3,4,5,6,7,8,9} or [0,1] instead of calculating ranges. >> >> Naturally, this code does not scale up to finding the two solutions for: >> >> HAWAII + IDAHO +IOWA + OHIO = S

Re: Smarter algo, was Re: 03 digression by brute force

2018-12-15 Thread jfong
> all entries in it as characters, right justified. You can then work on any > number of columns by extracting columns backwards from the right and applying > whatever logic, perhaps recursively. The possible carry amounts need to be > estimated as no more than about the number

RE: Smarter algo, was Re: 03 digression by brute force

2018-12-14 Thread Avi Gross
s being added minus one. But, I am ready to do other things so I leave it as an exercise for the reader 😉 -Original Message- From: Python-list On Behalf Of Peter Otten Sent: Friday, December 14, 2018 3:21 AM To: python-list@python.org Subject: Smarter algo, was Re: 03 digression by b

Smarter algo, was Re: 03 digression by brute force

2018-12-14 Thread Peter Otten
jf...@ms4.hinet.net wrote: > Just for fun:-) On my ooold PC, it takes 0.047 seconds to run the > following algorithm on the problem 'SNED + MORE == MONEY". > def tenThousand(u, Cin): # Cin == M > global n > if Cin == M: > print(S, E, N, D, '+', M, O, R, E, '==', M, O, N, E, Y) >

Re: 03 digression by brute force

2018-12-13 Thread jfong
Just for fun:-) On my ooold PC, it takes 0.047 seconds to run the following algorithm on the problem 'SNED + MORE == MONEY". - import time import itertools #S, E, N, D, M, O, R, Y n = 0 digits = {x for x in range(10)} def tenThousand(u, Cin): # Cin == M global n

Re: 03 digression by brute force

2018-12-11 Thread Joe Pfeiffer
"Avi Gross" writes: > SYNOPSIS: One way to solve math puzzle by brute force. (message sent earlier > disappeared) > > > > Quick note. Jack started by asking why python does not like decimal > numbers with leading zeroes. When asked to explain, he said he was > trying to solve word problems usi

Re: 03 digression by brute force

2018-12-11 Thread MRAB
On 2018-12-12 02:06, Avi Gross wrote: [snip] My main point though is that a leading zero can appear including in bank account numbers, social security numbers and so on. But I accept that historically python is as it is. As I mentioned, some functions like int() can deal with them. Bank accou