[Tutor] where I am going wrong?
surya k
suryak at live.com
Wed Dec 14 17:52:09 CET 2011
> Date: Wed, 14 Dec 2011 10:39:53 -0500
> From: d at davea.name
> To: suryak at live.com
> CC: waynejwerner at gmail.com; tutor at python.org
> Subject: Re: [Tutor] where I am going wrong?
>
> On 12/14/2011 09:29 AM, surya k wrote:
> >
> >
> > ________________________________
> >> From: waynejwerner at gmail.com
> >> Date: Wed, 14 Dec 2011 08:25:53 -0600
> >> Subject: Re: [Tutor] where I am going wrong?
> >> To: suryak at live.com
> >> CC: tutor at python.org
> >>
> >> On Wed, Dec 14, 2011 at 8:13 AM, surya k
> >> <suryak at live.com<mailto:suryak at live.com>> wrote:
> >>
> >> This is a project Euler
> >> puzzle. http://projecteuler.net/problem=30<http://projecteuler.net/problem%3d30>
> >> I applied brute force way and here is my code
> >> k=0for p in range(1,10): for q in range(0,10): for r in
> >> range(0,10): for s in range(0,10): for t in
> >> range(0,10): n = (p*10000)+ (q*1000) + (r*100) + (s*10)
> >> + (t*1) if n == \ p**5 + q**5 +
> >> r**5 + s**5 + t**5: print n
> >> k+=nprint k
> >> My answer: 240559
> >> But its showing the answer as wrong!!.
> >> I used the same method on the example puzzle and it worked.
> >>
> >> Your email client broke the formatting - you should probably use
> >> plain-text or a pastebin.
> >>
> >> -Wayne
> > This is a project Euler puzzle. http://projecteuler.net/problem=30
> > I applied brute force way and here is my codek=0for p in range(1,10): for q in range(0,10): for r in range(0,10): for s in range(0,10): for t in range(0,10): n = (p*10000)+ (q*1000) + (r*100) + (s*10) + (t*1) if n == p**5 + q**5 + r**5 + s**5 + t**5: k+=nprint kMy answer: 240559But its showing the answer as wrong!!.
> > I used the same method on the example puzzle and it worked.
> > _______________________________________________
> > Tutor maillist - Tutor at python.org
> > To unsubscribe or change subscription options:
> > http://mail.python.org/mailman/listinfo/tutor
> >
> The new copy you posted was just as bad. Please tell your email program
> not to reformat your text. With Thunderbird, I do that by telling it
> to use plain-text format for any message that goes to the domain:
> python.org. It's under File->preferences->Composition->General->Send
> Options. First section "Convert the message to plain text" and second
> section, under PlainTextDomain, add python.org
>
> I tried to reflow the source. But 59 columns of indentation is pretty
> wild. So I also changed indentation, and maybe got it right.
>
> Your code assumes all the numbers it will find will be 5 digit numbers, which is a strange assumption. When I try it with **4, I get zero as the result. All the numbers for that case happen to be exactly 4 digits, while you have 5 nested loops. There's no reason to presuppose the number of digits.
> I therefore changed the p range to 0,10, and the if statement to exclude the solution for 0 and 1.
> I also added a global called exp, so we can run it unchanged on either 4 or 5.
>
>
>
> exp = 4
> k=0
> for p in range(0,10):
> for q in range(0,10):
> for r in range(0,10):
> for s in range(0,10):
> for t in range(0,10):
> n = (p*10000)+ (q*1000) + (r*100) + (s*10) + (t*1)
> if n == p**exp + q**exp + r**exp + s**exp + t**exp and p>1:
> k+=n
> print "one part", n
> print k
>
> This still doesn't get the right answer, because it misses at least one
> number that has more than 5 digits.
>
> If you just want to get on with it, you could nest several more
> for-loops. But you can readily put a coarse upper limit on the largest
> match, by trying something like 10* 9**5. See how big that is, and if
> it's less than 10 digits long, you have an upper limit. Now you know how
> many loops you need.
>
> There are other approaches that don't require you to make a large number
> of nested loops. One is to use recursion. Another is to just iterate
> through the integers (n), then use str() and list() to turn it into a
> bunch of digits, which you then raise to the appropriate power in a
> simple loop.
>
>
> --
>
> DaveA
>
Thanks Dave for putting that much effort.Actually, I was using "plane text" format.. I wonder what went wrong!
So, regarding the program, you assumed it correctly. Let me do it again as you said.. I'll let you know if there is any problem
Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20111214/a61398c2/attachment-0001.html>
More information about the Tutor
mailing list