Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Project Euler problem 3

Pagina: 1
Acties:

  • Beatboxx
  • Registratie: April 2010
  • Laatst online: 26-10-2022

Beatboxx

Certified n00b

Topicstarter
Met grote schaamte vertel ik jullie dat ik niet uit probleem 3 van Project Euler kom. De opdracht:

code:
1
2
3
The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?


Het gaat bij mij al fout bij de opdracht. Als ik die uitreken, kom ik op deze prime factors: 5, 7, 13, 29, 35, 65, 91. En inderdaad, 13195 / 91 is 145, dus gewoon een geheel getal. Waarom is dit dan niet een van de prime factors? Dit is mijn code, in javascript:

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
var primefactor = 600851475143;
var root = Math.sqrt(primefactor);
var largest = 0;
var x = 2;
if( primefactor % x){
for( var i = 3; i < root; i+=2 ){
    if (  primefactor % i == 0 ){
        largest = i;
    }
}
}

console.log(largest);


Als ik dus het daadwerkelijke probleem-getal uitreken, kom ik volgens mij ook op een veel hoger getal uit dan het goede antwoord. (i.e. 486847)

Iemand een idee wat ik fout doe?

  • Gtoniser
  • Registratie: Januari 2008
  • Laatst online: 22:47
Beatboxx schreef op zaterdag 16 maart 2013 @ 21:49:
Het gaat bij mij al fout bij de opdracht. Als ik die uitreken, kom ik op deze prime factors: 5, 7, 13, 29, 35, 65, 91. En inderdaad, 13195 / 91 is 145, dus gewoon een geheel getal. Waarom is dit dan niet een van de prime factors? Dit is mijn code, in javascript:
91 is geen priemgetal en kan dus ook geen prime factor zijn :)
Ik denk dat je er dan wel uitkomt.

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 01-11 17:58

Bio

Weet je wat prime-factors zijn? Ik kan je in ieder geval vast uitleggen waarom de nummers waarvan jij denkt dat ze ook goed zijn niet kloppen. Een prime-factor moet niet alleen een geheel getal opleveren als erdoor gedeeld wordt, maar moet zelf ook een priemgetal zijn.

Dit is niet het geval voor 35, 65 en 91. De eerste twee zijn deelbaar door 5, en de laatste door 7

@hierboven: het gaat er dus om dat de 91 een priemgetal moet zijn, niet 145. Laat maar, je had het zelf al aangepast ;)

[ Voor 14% gewijzigd door Bio op 16-03-2013 21:57 ]


  • Beatboxx
  • Registratie: April 2010
  • Laatst online: 26-10-2022

Beatboxx

Certified n00b

Topicstarter
Oh ah, dat gedeelte miste ik inderdaad :)

  • Bio
  • Registratie: Oktober 2004
  • Laatst online: 01-11 17:58

Bio

De eerlijkheid gebied me te zeggen dat ik geen idee heb wat project Euler is, en al evenmin een idee had wat prime factors waren, behalve dat het waarschijnlijk iets met priemgetallen te maken had. Kortom, als ik het antwoord dus op internet kan vinden zou je er zelf met iets meer effort om uit te zoeken wat je nu precies aan het doen bent vast ook wel uitgekomen zijn ;)

  • Beatboxx
  • Registratie: April 2010
  • Laatst online: 26-10-2022

Beatboxx

Certified n00b

Topicstarter
Maar het probleem is dat als je op project euler googlet, je meteen complete uitwerkingen en antwoorden krijgt. Dat is nou juist nét niet het idee achter het project.

  • Gtoniser
  • Registratie: Januari 2008
  • Laatst online: 22:47
Dus google je op "prime factors" en vind je dit: Wikipedia: Prime factor

  • steveman
  • Registratie: Mei 2001
  • Laatst online: 21:34

steveman

Comfortabel ten onder

Top tip: bewaar al je code mbt priemgetallen (of van alle opdrachten eigenlijk), die komen zeg maar nog wel eens terug bij PE.

"Take the risk of thinking for yourself. Much more happiness, truth, beauty, and wisdom will come to you that way." -Christopher Hitchens | In memoriam? 🏁 ipv kruis!


  • Camulos
  • Registratie: Januari 2009
  • Laatst online: 17-11 12:35

Camulos

Stampert

offtopic:
Door dit topic ook begonnen met Project Euler! Thnx OP! :D

Not just an innocent bystander


  • ZaPPZion
  • Registratie: Februari 2009
  • Laatst online: 28-08 12:46
Camulos schreef op zondag 17 maart 2013 @ 21:46:
offtopic:
Door dit topic ook begonnen met Project Euler! Thnx OP! :D
Hier ook :D

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 23-11 03:08
Voor de goede orde: een factor (ook wel: divisor) is een deler. Een prime number is een priemgetal. Prime factors zijn dus priemdelers, oftewel: delers die priemgetallen zijn. Het gaat dus meer om kennis van Engels dan om kennis van programmeren. ;)

Project Euler is wel leuk om te doen. Jammer dat het snel erg ingewikkeld wordt, en dat je eerst een probleem moet oplossen voordat je de aanpak/uitleg van anderen kunt inzien. Daardoor is het lastig om nieuwe dingen te leren.

  • steveman
  • Registratie: Mei 2001
  • Laatst online: 21:34

steveman

Comfortabel ten onder

Afbeeldingslocatie: http://projecteuler.net/profile/steveman.png

Toch wel een beetje trots op :)

Maar nu ik voor m'n werk ontwikkel doe ik er eigenlijk nooit meer iets. Was wel erg tof om na een hoop geklooi de positieve feedback te krijgen omtrent je antwoord :)

En daarna je heel dom voelen over hoe veel eenvoudiger / sneller het kan :D

"Take the risk of thinking for yourself. Much more happiness, truth, beauty, and wisdom will come to you that way." -Christopher Hitchens | In memoriam? 🏁 ipv kruis!


  • dexonic
  • Registratie: Februari 2003
  • Laatst online: 16-12-2019

dexonic

efficient != nuttig

Ben er een hele tijd geleden eens aan begonnen met php, maar dat is toen een beetje doodgebloed.
Nu tijd aan het zoeken om het eens met python te proberen en nu ik dit hier zie moet ik dat maar snel eens gaan doen weer haha

  • king_charles
  • Registratie: Maart 2008
  • Laatst online: 15-08-2023
Ik ben ook gaan rondkijken door dit topic en tot nu toe gaat het goed:
Afbeeldingslocatie: http://projecteuler.net/profile/kingcharles.png

  • Marcj
  • Registratie: November 2000
  • Laatst online: 22-11 15:14
Dat is al weer een tijd geleden zeg, maar wel leuk om weer eens verder mee te gaan.
Afbeeldingslocatie: http://projecteuler.net/profile/Marcj.png
Pagina: 1