d2jsp
Log InRegister
d2jsp Forums > Off-Topic > International > Deutsch > Eulerproject
Prev123456Next
Add Reply New Topic New Poll
Member
Posts: 10,028
Joined: Dec 30 2007
Gold: 4,508.76
Mar 10 2017 04:27am
Quote (milkYw4i @ 10 Mar 2017 11:00)
hab das noobproblem grad im Kopf gelöst. Einfach über alle Fibonaccizahlen (starten mit (1,1)) summieren und wenn man über 4 mio kommt durch 2 teilen. War einfach
*edit* halt ne, doch nicht, aber geht so ähnlich und noch einfacher. Im Endeffekt bis 4 mio einfach fibonacciwerte berechnen. Wenn der nächste Fib wert über 4 mio ist gibt's 3 möglichkeiten. Man hat gerade fib(a,b) aufgerufen, wobei a,b die beiden letzten Zahlen sind.
Jetzt ist entweder a, b oder a+b gerade. Falls a bzw b gerade ist berechne a/2 bzw b/2 fürs ergebnis falls a+b gerade ist berechne (b-a)/2.
*e2* stimmt auch nicht ganz, gibt aber definitiv ne elegante lösung die so oder so ähnlich funktioniert xD
*e3* okay, mal eben bisshcen was aufgeschrieben und man kann wenn man will einfach über alle Werte summieren und dann wenn man an die Grenze kommt die Summe die auf ein gerades Glied (hihi glied) endet durch 2 teilen.


Solche Dinge wirst du in der Wirtschaft niemals lösen müssen, also kannste es einfach in Sloanes OEIS nachlesen wenn dich die "elegante" Lösung interessiert. Dort findet man so ziemlich alles und kriegt noch gleich Mathematica Beispiele dazu: https://oeis.org/search?q=pisano+periods&sort=&language=&go=Search
Member
Posts: 36,380
Joined: Dec 3 2010
Gold: 79,234.42
Warn: 10%
Mar 10 2017 05:51am
Quote (milkYw4i @ 10 Mar 2017 11:00)
hab das noobproblem grad im Kopf gelöst. Einfach über alle Fibonaccizahlen (starten mit (1,1)) summieren und wenn man über 4 mio kommt durch 2 teilen. War einfach
*edit* halt ne, doch nicht, aber geht so ähnlich und noch einfacher. Im Endeffekt bis 4 mio einfach fibonacciwerte berechnen. Wenn der nächste Fib wert über 4 mio ist gibt's 3 möglichkeiten. Man hat gerade fib(a,b) aufgerufen, wobei a,b die beiden letzten Zahlen sind.
Jetzt ist entweder a, b oder a+b gerade. Falls a bzw b gerade ist berechne a/2 bzw b/2 fürs ergebnis falls a+b gerade ist berechne (b-a)/2.
*e2* stimmt auch nicht ganz, gibt aber definitiv ne elegante lösung die so oder so ähnlich funktioniert xD
*e3* okay, mal eben bisshcen was aufgeschrieben und man kann wenn man will einfach über alle Werte summieren und dann wenn man an die Grenze kommt die Summe die auf ein gerades Glied (hihi glied) endet durch 2 teilen.


mach dir n account und tipp die loesung ein^^
also wenn du spass dran hast...
Member
Posts: 21,656
Joined: Mar 1 2013
Gold: 6,560.54
Mar 10 2017 06:11am
sorry, arbeit arbeit.

Heute ist Freitag, habe Montag bis Donnerstag blau gemacht, also heute Arbeit von 5 Tagen. ;)
Member
Posts: 10,028
Joined: Dec 30 2007
Gold: 4,508.76
Mar 10 2017 06:15am
Quote (Prophets @ 10 Mar 2017 13:11)
sorry, arbeit arbeit.

Heute ist Freitag, habe Montag bis Donnerstag blau gemacht, also heute Arbeit von 5 Tagen. ;)


Werde an dich denken wenn ich später mein Schläfchen gemacht habe. 😘😘
Member
Posts: 36,380
Joined: Dec 3 2010
Gold: 79,234.42
Warn: 10%
Mar 12 2017 08:28am
oh yeah B)

Member
Posts: 36,380
Joined: Dec 3 2010
Gold: 79,234.42
Warn: 10%
Mar 12 2017 08:33am
Quote (HulioR @ 9 Mar 2017 22:14)
Code
def calculate_blue (red):
return 0.5*((8*red**2+1)**0.5+2*red+1)

prevResult = 15

red = 16

while True:
blue = calculate_blue(red)
if blue == int(blue):
if red + blue >= 10**12:
break
prevResult, red = red, int(red * (red/prevResult))
else:
red += 1


print(int(blue))


Lösung in Python3, Ergebnis: 756872327473

e: Habe die Variablen und die Funktion umbenannt, damit es sich besser lesen lässt.


ich hab es sehr aehnlich gemacht. allerdings war mein erster (naiver) algorithmus sehr langsam...
ich habe letztendlich die ersten 10 zahlen berechnet und dann gesehen, dass die exponentiell wachsen. eine exponentielle regression hat mich dann zu einem wert gebracht, der es in etwa sein koennte.
von dem wert aus hab ich dann mit dem naiven algorithmus nach oben & unten gesucht, und die loesung letztendlich auch gefunden :)


ging das berechnen mit python3 denn schnell?!

mein java shit hat echt jahre gebraucht :D


edit: ich finds ansonsten eig gar nicht cool, hier die loesungen ganz zu posten. vllt will das ja noch wer machen.
hab deinen code auch grad erst angeguckt, nachdem ich fertig war.

This post was edited by fernsehen123 on Mar 12 2017 08:33am
Member
Posts: 320
Joined: Aug 17 2016
Gold: 440.00
Mar 12 2017 12:32pm
Quote (fernsehen123 @ 12 Mar 2017 15:33)
ich hab es sehr aehnlich gemacht. allerdings war mein erster (naiver) algorithmus sehr langsam...
ich habe letztendlich die ersten 10 zahlen berechnet und dann gesehen, dass die exponentiell wachsen. eine exponentielle regression hat mich dann zu einem wert gebracht, der es in etwa sein koennte.
von dem wert aus hab ich dann mit dem naiven algorithmus nach oben & unten gesucht, und die loesung letztendlich auch gefunden :)


ging das berechnen mit python3 denn schnell?!

mein java shit hat echt jahre gebraucht :D


edit: ich finds ansonsten eig gar nicht cool, hier die loesungen ganz zu posten. vllt will das ja noch wer machen.
hab deinen code auch grad erst angeguckt, nachdem ich fertig war.


Gibt praktisch keine Rechenzeit.
Member
Posts: 54,037
Joined: May 9 2006
Gold: 26.54
Mar 12 2017 02:59pm
Hab Euterprojekt gelesen
Member
Posts: 4,311
Joined: Jun 22 2010
Gold: 365.00
Mar 12 2017 03:24pm
Bin zu bleed dafu
Kann Jo glicklich sei wenne de abort treff
Member
Posts: 36,380
Joined: Dec 3 2010
Gold: 79,234.42
Warn: 10%
Mar 13 2017 02:11am
Quote (MethodMan @ 12 Mar 2017 22:24)
Bin zu bleed dafu
Kann Jo glicklich sei wenne de abort treff


ja

ich probiere mich btw derzeit an dem hier:

https://projecteuler.net/problem=260

This post was edited by fernsehen123 on Mar 13 2017 02:11am
Go Back To Deutsch Topic List
Prev123456Next
Add Reply New Topic New Poll