Aviseringar
Rensa alla

ProjectEuler- testa dina programmeringskunskaper


Gifted
Ämnesstartare

Jag snubblade in på http://projecteuler.net/ för ett par dagar sedan,
där det finns en uppsjö av trevliga programmeringsproblem.

Språket man använder är valfritt, enbart svaret/resultatet skickas in.

Starkt rekommenderat!

Någon annan som ägnar tid där? Isf, vilket språk?


   
Citera
Åtta

Skulle påstå att man till en väldigt stor del testar sina matematiska kunskaper. Programmeringen är mest bara ett verktyg.


   
SvaraCitera

Project Euler är ju trevligt och så, men det testar inte särskilt många programmeringskunskaper du kommer att använda till att tjäna brödfödan.

Varför finns det ingen "project vardagsrealismprogrammering" där du får en enorm blobb obefintligt kommenterad, vansinnigt strukturerad källkod, och får till uppgift att göra en fungerande, välpolerad produkt av det?

Jag vill f ö påpeka att Euler sannolikt är historiens ondaste man. Varenda jävla koncept som är det minsta jobbigt i mina mattekurser har vid närmare efterforskning visat sig vara upptäckt av just Euler.


   
SvaraCitera
Åtta

Gentlernen:

Varför finns det ingen "project vardagsrealismprogrammering" där du får en enorm blobb obefintligt kommenterad, vansinnigt strukturerad källkod, och får till uppgift att göra en fungerande, välpolerad produkt av det?

Det vore grymt. Du får starta upp det.


   
SvaraCitera

Åtta:

Det vore grymt. Du får starta upp det.

Jag har tillräckligt av det på för att inte vilja ens tänka på det på fritiden.


   
SvaraCitera
Åtta

Gentlernen:

Jag har tillräckligt av det på för att inte vilja ens tänka på det på fritiden.

Dåså. Släng upp skiten på the intarwebs och använd andras lösningar i jobbet. [y]


   
SvaraCitera

Har gjort några problem där tidigare, fast det är som nämnts i tråden mer ett verktyg för att lösa matematiska problem. Bra sida dock.
Använde mest C och C++ när jag skrev programmen.


   
SvaraCitera
Åtta

Har löst några problem nu, men jag har fastnat på fyran (trots att jag klarat både femman och sexan [confused]).

:

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.

Find the largest palindrome made from the product of two 3-digit numbers.

Så här har jag tänkt:
* Fixa en lista med alla möjliga multipler av tresiffriga nummer.
* Gå över listan bakifrån och skriv ut den första multipeln som är == sig själv bakifrån.

Så här har jag gjort det i Python:

from copy import copy

def reverse(chars):
ochars = ''
beyond = len(chars)
for ix in range(beyond):
ochars += chars[beyond - 1 - ix]
return ochars

def main():
list = []
for i in xrange(100,1000):
list.append(i)
list2 = copy(list)
products = []
n = 0
for i in list:
products.append(i*list2[ n ])
n+=1
products.reverse()
i = 0
while True:
string = str(products)
if string == reverse(string):
print string
break
i += 1

if name == '__main__': main()

Om vi bortser från det faktum att det är en del fula grejer däri (det måste finnas ett bättre sätt att få en lista från 100 till 999 än att köra en for-loop och manuellt lägga in varje nummer) så fungerar det inte riktigt som det ska ändå.

Själva palindromgrejen fungerar ypperligt, men jag tror att det är delen där jag ska få ut alla multipler av två tresiffriga tal som fuckar upp det för mig. Problemet är att jag inte vet vad felet är.

Den högsta palindromen man kan få fram ska vara 906609, men jag får ut 698896.

Edit: Nevermind. Fick det att fungera.


   
SvaraCitera

Tråden låst på grund av inaktivitet


   
SvaraCitera