Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 214 reacties

In samenwerking met Capgemini heeft Tweakers een wedstrijd ontwikkeld die de programmeer- en denkvaardigheden van programmeurs op de proef stelt. Onder de deelnemers die alle vijftien vragen goed weten te doorlopen, verloten we 1x een Dell XPS 13 en 4x een Raspberry Pi 2.

Capgemini actieTijdens de zogenoemde Devv Answer-wedstrijd worden de deelnemers uitgedaagd om, mede met behulp van hun programmeerkunsten, verschillende complexe vragen op te lossen. Naar het bekende Project Euler-voorbeeld kan een volgende vraag pas worden beantwoord als het goede antwoord is gegeven. Bovendien verschilt de moeilijkheidsgraad per vraag. Om de vragen te kunnen beantwoorden is slimheid onontbeerlijk en kan het handig zijn om eventuele programmeerskills te gebruiken.

Met een goed antwoord verkrijg je als deelnemer toegang tot een speciaal topic over de desbetreffende vraag, zodat je met andere tweakers verder kunt discussiëren over de aanpak en uitkomst. Aanmelden en meedoen kan via deze speciale pagina.

Spelregels

  • Deelnemen kan van 1 tot en en met 30 september 2015
  • Deelname is voorbehouden aan ingelogde bezoekers van Tweakers
  • Werknemers van Tweakers en Capgemini zijn uitgesloten van deelname
  • De winnaars ontvangen uiterlijk 16 oktober bericht over welke prijs zij hebben gewonnen.

Door Wout Funnekotter

- Hoofdredacteur

Wout werkt sinds 2011 bij Tweakers en heeft zich lange tijd beziggehouden met het testen en recenseren van allerlei producten, met een nadruk op mobiele technologie. Sinds augustus 2015 is hij hoofdredacteur. In die rol werkt hij samen met de andere redacteuren eraan om de inhoud en presentatie van de site constant te verbeteren. Wanneer de tijd het toelaat, schrijft hij nog wel eens een review.

Volg Wout op TwitterVolg Wout op Google+

Lees meer over

Moderatie-faq Wijzig weergave

Reacties (214)

1 2 3 ... 7
ook even hier:

Onze excuses voor de fouten die jullie hebben gevonden. We zijn samen met de bouwer druk bezig om alles te fixen. Het is heel jammer dat deze fouten tijdens het testen niet zijn gevonden. Wees ervan verzekerd dat we dat een volgende keer radicaal anders gaan doen.

Gun ons heel even de tijd voor de aanpassingen, als alles verwerkt is meld ik dat bij jullie en ik hoop dat jullie de Devv Answer dan nog een faire kans willen gunnen. Alle vragen en antwoorden worden opnieuw bekeken en berekend door een developer die niet betrokken was bij het project in eerste instantie. We gaan voor maximale zekerheid.

De fouten zijn in geen geval gemaakt door Capgemini. Dit project is door Tweakers ontwikkeld in samenwerking met een derde partner. Dus de schuld treft puur en alleen ons. Ook de inhoud van de vragen is door Tweakers en de externe partij bedacht, ook daarvan treft Capgemini geen enkele schuld of blaam.

Nogmaals mijn excuses voor de verwarring, we maken het goed door snel alle fouten te fiksen en niet een maar twee rondjes bier* op de volgende dev-meeting. :*

Update t/m vraag 9 is de contest nu gecontroleerd en waar nodig gefixt.

Update 2
Vraag 5 is verder aangepast om aan alle verwarring een einde te maken.
*=Gewone Jupilers van de tap

[Reactie gewijzigd door zeef op 2 september 2015 00:13]

Ik geef het zeker nog een faire kans. Het zijn veel te leuke puzzels om links te laten liggen. En een beginnersfoutje kan altijd. Morgen ga ik met een fris brein aan puzzel 5 proggen. 8-)
Kijk anders eens naar de formuleringen van de ProjectEuler-puzzels. Die zijn soms echt pietje precies waar nodig, op het pedante af, maar dat voorkomt wel verwarring. ;)
Dit is voor ons de eerste keer. We leren er ook van voor een volgende keer. :)
Misschien voor de volgende keer, het aan een betagroep van 20 man voorleggen, die niet de uitleg hebben gezien ;). (wat tweakers of zo, wat die zijn zo goed in dingen stukmaken ;) )
Dat is ook precies het plan!
Ik wil wel mee betatesten, de volgende ronde. :-)
Misschien de winnaars van de vorige editie(s) vragen? Die hebben laten zien dat ze het leuk vinden en slim genoeg zijn. Als extra voordeel voorkom je meteen dat steeds dezelfde mensen winnen. ;)
Wat heel prettig werkt, is wanneer er een antwoord bij staat van een veel kleinere versie van het probleem. Zo kan een puzzelaar zijn of haar interpretatie van de tekst controleren.

Stel, bijvoorbeeld, bij opgave 5, met de tegeltjes, zou je kunnen zeggen:
'in jaar 50 zijn er nog [......] tegeltjes over'. Dan kun je controleren of de timing van aardbevingen goed is, of de afrondig goed is, of je berekening van het aantal tekens goed is, etc.

En dan kan je de code vervolgens door laten lopen tot ze op zijn. Maar je geeft dan wel iets weg. Het is een beetje de balans zoeken hierin.

Een heel mooi voorbeeld vond ik zelf ProjectEuler opgave 212. Er wordt een randomgenerator beschreven, met waarden erbij zodat je die kan valideren, en er wordt een uitkomst gegeven van een veel kleinere versie van hetzelfde probleem, zodat je de code helemaal kan valdieren. En toch maakt dat de puzzel niet gemakkelijker.
Leuke puzzels, heeft mij al de nodige uurtjes gekost.
Vraag 13, de zombie vraag is alleen voor verschillende uitleg vatbaar. Wordt deze vraag ook nog nagekeken/ge-update? Kan een zombie maar 5x aanvallen, of wordt er maar 4 mensen per 5 aanvallen een zombie? Ik heb beide uitgeprobeerd, maar beide antwoorden waren fout...
Ik ben er vrij zeker van dat ik vraag 3 juist heb beantwoord, en toch wordt mijn antwoord niet geaccepteerd.

movement = Eindvector - Startvector
positie = movement.normalized() * 20 * 60 * 25 + Startvector

Is er misschien een rounding error?

Edit: opgelost, - 4^8 of -4^8 ... ;)
Had iets duidelijker kunnen zijn (volgens mij is de notatie ook gewoon fout)

[Reactie gewijzigd door littlebitpwnsu op 1 september 2015 12:26]

Ze bedoelen met -48 eigenlijk (-4)8 8)7. En vergeet de separator tussen de duizendtallen niet :)

[Reactie gewijzigd door .oisyn op 1 september 2015 18:52]

Bedankt, beetje zonde van de vraag.
Ach, dank je wel voor de uitleg. |:(
Heb ook dit probleem, zelfs nog door wolframalpha gehaald om te chekken of ik geen afronding/overflow fouten had lijkt allemaal te kloppen.
Ik heb ook wolframalpha gebruikt, en heb de totale formule open staan zodat ik zelf geen rounding error introduceer.
Misschien onduidelijk van mij, maar wat ik bedoelde was mijn antwoord word ook niet geaccepteerd. Dat terwij ik het nagelopen heb ik in wolframalpha.
edit: Negatieve opmerking hoefde niet.

[Reactie gewijzigd door ANdrode op 1 september 2015 19:12]

Nee hoor, gewoon in Excel gedaan en geen last van afrondfouten. Zal toch iets anders zijn!
Mijn redder in nood. Ik had het al opgegeven na een aantal pogingen met wolfram, maar Excel gaf in een keer het goede antwoord...
Mag ik vragen waar dan het verschil in zit (afronding?), want Wolfram Alpha hoort gewoon het juiste antwoord te geven...
Ik heb hetzelfde probleem, Als ik de lengte van mijn resultaat t.o.v. de startvector uitreken kom ik ook precies op 20*60*25 uit.

Maakt mij an sich niets uit, alleen jammer dat ik daardoor niet door kan.

[Reactie gewijzigd door sopsop op 1 september 2015 11:49]

Vraag 1 is al redelijk ambigu door de laatste zin in de uitleg:
> Voorlopende nullen in n or reverse(n) zijn niet toegestaan.

Dus een getal zoals 10 doet niet mee, of
Mag je de voorlopende 0 van reverse(10) wegstrepen waardoor je dus 11 zou krijgen?
Mij hetzelfde hoor, het valt me op dat bij dit soort dingen de opdrachtgevers eigenlijk nooit in staat zijn de vraag op een echt duidelijke en ondubbelzinnige manier te stellen. Vet irritant natuurlijk.

Bijv. het getal 100, omgekeerd is dan 001, 100+(00)1 is 101, telt niet mee want 0 is niet oneven, toch? Dat er leading zero's zijn verandert niks. Wat er dus met die ene zin bedoeld wordt volg ik dus ook niet helemaal.

Jullie hebben het over 904 en 409 is 1313. Kijk je dan altijd naar de individuele cijfers 1,3,1,3 of naar de tientallen 13, 13?

Met wat ik getest heb tel ik bij onder de 1000 125 matches en geen 120. Ik zou niet weten welke fout zijn en waarom, mede door de niet duidelijke vraagstelling.

Sowieso is dit ook meer een wiskundetoets dan programmeerwedstrijd.
1|3|1|3 per "vakje" omkeren geeft 3|1|3|1. 13|13 per "vakje" omkeren geeft 1313 (match!), 1|313 per "vakje" omkeren geeft weer 3131. Het idee is dat je iets meer moet checken dan een vrij eenvoudige palindroom check. Subsets zijn blijkbaar ook toegestaan.

Programmeerwedstrijden zijn trouwens vaak gericht op het oplossen van wiskundige problemen. Bij dit soort problemen kom je namelijk niet makkelijk weg met een brute force benadering, en moet je probleemoplossend denken. Het is een goede manier om bepaalde type mensen te selecteren.

Verder een leuke actie, hoewel ik er wel een groot "goedkoop werven" gevoel bij krijg. :-) Ga zelf niet meedoen vanwege tijdgebrek. Heb een prima baan en nog genoeg side projects thuis waar ik liever tijd aan besteed. Alle anderen veel plezier en succes gewenst!
Wellicht valt er ook nog wel wat bit wise operants toe te passen (een miljoen keer door een lus heen pruttelen wil je ook liever niet).
Dat heb ik wel gedaan :D
Daarmee is het trouwens wel gelukt :P
Jullie hebben het over 904 en 409 is 1313. Kijk je dan altijd naar de individuele cijfers 1,3,1,3 of naar de tientallen 13, 13?
Alle cijfers van de som moeten oneven zijn. Er staat nummers, dat is natuurlijk gewoon foute terminologie.
Bedankt, heb hem nu (kwam eerst op 440 ipv 120).
110 + 0(11) = 121, die zou goed zijn. Maar die telt dus niet mee.

edit: Oeps ik ben dom, 2 is even :'(

edit2: de getallen 10, 30, 50, 70, en 90 (11 33 55 77 en 99) zouden goed zijn maar die tellen niet mee.

[Reactie gewijzigd door Takenzo op 1 september 2015 12:29]

10 doet inderdaad niet mee.
Die snapte ik eerst niet...
Ik kwam daardoor op 125 uit i.p.v. 120 :P
Spoiler alert |:(

Excuus, inderdaad dit is alleen het voorbeeld :)

[Reactie gewijzigd door Fealine op 1 september 2015 11:02]

Geen spoiler, dat komt uit het voorbeeld. 120 getallen gevonden die voldoen voor de reeks onder de 1000.
Nee ik heb zorgvuldig gelet op wat ik hier zou mededelen :)
Ik beargumenteerde alleen maar mijn antwoord op de gestelde vraag met reeds bekende informatie ;)
10 doet niet mee
Die eerste is nog wel te doen... en begrijpelijk in elk geval. Daarna gaat 't m'n pet al te boven. Succes aan de deelnemers! :)
Ach, de ontzettend ambiguë vraagstellingen, verkeerde terminologie en ronduit foute wiskunde helpt ook niet (en dan heb ik het alleen over de eerste 3 vragen he 8)7)
Vierde vraag mist gewoon informatie (initiële grootte van fungi)... Het lijkt erop dat een stagiair het even in een vrijdagmiddag in elkaar heeft geknutseld...
Ervanuitgaande dat de schimmel niet een kosmische grootte had bij de start maakt dat voor het antwoord niet echt uit.
Dat is waar ;). Alleen is het wel exemplarisch voor de vraagstelling.
Forum topic opstarten :) Of is dat vals spelen ?
Haha ik kan uit die text van vraag 2 ook echt niet meer opmaken wat ze nou bedoelen. Ik dacht ik ga even kijken hoe ver ik kom, niet ver dus :D
Kan iemand mij helpen (via PB) met vraag 2? Ik hoef het antwoord niet en wil het hier niet geven maar kan de fout niet vinden... ergens een denk- of interpretatiefout gok ik. Ik heb:

- Het aantal getallen in de reeks
- De getallen zelf
- De soms van de individuele cijfers van de getallen
- De kwadraten

Groeten!
De kwadraten van die getallen zijn niet relevant, het gaat erom of de wortel ook een geheel getal is... Of tenminste dat vermoed ik, want het ding accepteert mijn antwoord niet :(
edit:
Domme programmeerfout verwijderd, en nu doet ie het...

[Reactie gewijzigd door FreezeXJ op 1 september 2015 13:03]

Probeer je antwoord eens +1 te doen? Ik kreeg 1 lager als resultaat en weet nog steeds niet waarom :p
Je moet blijkbaar de set van Fibonacci getallen hebben, dus alleen unieke getallen. Daar ging het bij mij mis.
Leuke actie, helaas geen verstand van, maar een echte tweaker heeft toch al een pi ;)
Een echte Tweaker wil er wel twee, toch?

Ik heb nog geen Pi :'(
Een tweaker kijkt naar de meest efficiente (en hopelijk legale) manier om een pi te bemachtigen. Dat is een half uurtje (of iets langer afhankelijk van beloning) werken en dan aanschaffen. Ik heb een aan zekerheid grenzend vermoeden dat er maar weinig mensen zijn die in dezelfde tijd 15 wiskundige problemen kunnen oplossen en zoveel geluk hebben dat ze de prijs winnen. :-)

Tip: koop vandaag nog een Pi. Het zijn hele leuke toegankelijke bordjes. Ik heb er zelf twee. Eentje voor een owncloud/web/mumble/etc server en eentje voor het aansturen van een hexapod project waar ik onlangs aan begonnen ben.
Ik heb nog steeds geen leuk doeleinde bedacht voor een eventuele Pi, anders had ik er inderdaad al lang eentje gekocht. Voor de prijs hoef je het niet te laten, da's waar.
-RetroPie emulator (van C64 en Apple2 tot n64 op de RPI2 en significant mobieler dan een steambox)
-XBMC mediaspeler
-Streamingdevice (wij streamen er audio heen op kantoor waarmee iedereen nummers kan toevoegen en upvoten en er zo een custom playlist onstaat, de RPI is aangesloten op de hifi receiver/versterker)
-Server (collega gaat er een MC server mee opzetten)
-NAS

Dit zijn dan nog consumenten toepassingen. De Tweaker weet er nog veel leukere dingen mee te doen
- Als ik retrogames wil spelen, speel ik die op m'n Android telefoon/tablet
- Ik heb een Smart TV waar een Chromecast in zit, wat moet ik nog met XMBC?
- Op kantoor heeft iedereen z'n oordopjes in
- Ik woon zelf in the middle of nowhere, met een upload van ~600 kbps heb ik al moeite met mijn IP camera op een leuke resolutie
- NAS is al aanwezig en wordt verder voor weinig bijzonders gebruikt :)

Nope, sorry... ik kan er nog weinig mee :P Als ik er eentje koop, zou ik 'm inzetten voor domoticadoeleinden, als systeem wat alle sensoren opvangt en vervolgens alles aanstuurt.
Toen het nog de moeite waard was had ik mijn bitcoinminer (een USB device) er aan hangen. Hij maakte maar weinig netwerkverkeer, en kon zodoende mooi in mijn rommelhok staan.
Je kunt aan de Ziggo Hackaton meedoen. Alle deelnemers krijgen een RPI.
http://www.appathon.tv/
Een XPS 13 daarintegen... :9
Hebben anderen ook problemen met vraag 4? Ik vind het sowieso vreemd dat er geen begingrootte wordt vermeld. Ik ga ervan uit dat dit 1 cm is.
Hier. Beetje jammer dat de vraag zo onduidelijk gesteld wordt, ben nu alle mogelijkheden qua startwaarden maar aan het proberen... :+

Edit: en moet er ook afgerond worden, zoals in de syntax van het voorbeeldantwoord?

[Reactie gewijzigd door Froodooo op 1 september 2015 12:23]

Dat is natuurlijk nutteloos. Het antwoord bestaat uit zoveel cijfers terwijl je moet afronden op de 5 meest significante, dat elke redelijke startwaarde geen enkele invloed heeft op de uitkomst.

Ik krijg 'm ook niet goed overigens. Wel frappant is dat je nu ineens een punt moet gebruiken, ipv een komma zoals in vraag 3. Volgens het voorbeeld dan, al heb ik ze beide geprobeerd.

[Reactie gewijzigd door .oisyn op 1 september 2015 13:16]

Zorg er voor dat je erg goed leest wat je moet berekenen. Ik had nog een stap gemist.
Ze hebben de antwoordvalidatie aangepast, hij accepteert mijn antwoord nu wel :)
Dat is inderdaad de vraag die we hier ook stellen: Devv Answer Contest
Jup, hiero. Inderdaad mis ik een start. 0 lijkt me raar.

Daarnaast worden de getallen zo groot, lijkt me ook niet te kloppen, maar aan de andere kant kan het niet anders dan kloppen, of ik zie iets over het hoofd.
Misschien handig om de definitie van 'getal' en 'cijfer' nog even duidelijker te maken:
Getal 1234 heeft de cijfers 1,2,3,4, toch? Cijfer is gelijk aan Engelse digit?

[Reactie gewijzigd door Digital-DNA op 1 september 2015 11:20]

Ik zit daar ook beetje overin m.b.t. vraag twee. Ik vind het nogal een vage vraagstelling.

Er wordt gesproken over de afzonderlijke cijfers optelt van een Fibonacci reeks. En dan de vraag hoe vaak komt er een bepaald type getal uit. Maar 'hoe vaak' kan slaan op: per elke volgend getal in de Fibonacci reeks alswel op elke optelling van een nieuw cijfer.
Zoals ik het interpreteer is dat je per Fibonacciegetal de cijfers optelt en dan kijkt of de wortel een heel getal is.

Bijv. bij getal 13 de cijfers optellen, is dus 4, wortel = 2, is heel getal dus die telt mee, toch?

Zoals gewoonlijk is de vraagstelling weer eens op meerdere manieren te interpreteren, is hier nu echt niets aan te doen??
Mocht iemand vraag 2 correct opgelost hebben, kan die aub even de vraagstelling verherformuleren in iets begrijpelijks? :)
Stel dat je van alle Fibonaccigetallen tot 1.000.000.000.000.000.000 (10^18) de afzonderlijke cijfers optelt.
Ik neem toch aan dat dit tot fib(n) > 10^18 is, en niet tot fib(10^18)?

Maar dan klopt mijn antwoord niet :P
Zoals ik het interpreteerde klopt het gewoon, had het in 1 keer goed.

Er wordt duidelijk gesproken over Fibonaccigetallen tot 10^18, oftewel 0, 1, 1, 2, 3, 5, 8, 13... tot 10^18. Aangezien het hard oploopt zijn dat er niet zo heel erg veel.

In de vraagstelling staat dat je van alle Fibonaccigetallen de cijfers moet optellen, maar strikt gesproken krijg je dan toch gewoon 1 getal? Er wordt bedoeld dat je per Fibonaccigetal de cijfers moet optellen...
Mijn god, zoveel tijd aan verspild... Ik nam de som van alle voorgaande Fibonacci getallen -_- Vraagstelling is soms toch niet optimaal, goed dat ik de comments is doornam :)
Begrijpend lezen is ook onderdeel van het oplossen van het vraagstuk ;)
Zeker waar. Maar strikt genomen zou dan de som van de afzonderlijke cijfers van alle Fibonaccigetallen toch naar 1 getal leiden?
Zoals jij het stelt wel omdat je twee dingen in 1 combineerd in je zin.

Echter de vraagstelling is:

Stel dat je van alle Fibonaccigetallen tot 1.000.000.000.000.000.000 (10^18) de afzonderlijke cijfers optelt.

Oftwel je hebt alle getallen tot 1^18, waarvan je voor elk de afzonderlijke cijfers optelt.
het geheel moet niet even zijn, het moet een geheel getal zijn, dus geen fracties hebben.
zo begrijp ik het toch...

Als je som 9 zou zijn, is de wortel 3 en 3 is een geheel getal.
Als je som 8 zou zijn is de wortel 2.828 en dat is géén geheel getal.

zo heb ik het toch begrepen... maar dan klopt mijn oplossing nog steeds niet :)
Er wordt hier gesproken over "programmeren", maar met scripten kan je ook ver komen denk ik.
Denk hierbij aan PowerShell of Python.
Absoluut! Ook met Excel of pen en papier kun je een heel eind komen. Echter zou ik je aanraden om uiteindelijk een programmeertaal te pakken om snel tot een gewenst resultaat te komen. Lukt het je helemaal in python is dat uiteraard je goed recht ;)
Wat is er mis met Python als programmeertaal? :-|
Helemaal niets. Er staat enkel dat je je niet hoeft te beperken tot 1 programmeer of script taal.
Scripten is net zo goed programmeren.
Wat is bij vraag 4 de beginwaarde van de schimmel?
Het aller rotste is wel de manier waarop je sommige antwoorden moet geven. Bijvoorbeeld bij vraag 3 het exacte formaat van " x:2.200,72 y:150,00 z:160,98" en bij vraag 4 "1.0903E+23cm". Waarom is het bij vraag 3 nou comma's voor decimalen, en bij vraag 4 een punt? En waarom is het "xE+ycm", en niet gewoon "xEy"?

Een beetje ruimere interpretatie van de waardes had ook wel gemogen, dus dat er aan de Tweakers kant nog een klein beetje logica achter zit om inzendingen die wel correct zijn, maar niet helemaal in het juiste formaat geschreven, ook goedgekeurd worden. Of juist nóg strengere input controle, en expliciet een foutmelding geven als het formaat niet klopt.

Zat bij vraag 3 al de rotzooien, en nu bij vraag 4 denk ik dat het antwoord zelf wel goed heb, maar dat ik het op de een of andere manier gewoon verkeerd ingeef. Maar ik weet niet of ik nou het formaat wel goed heb, en of het nou wel of niet de bedoeling is dat ik het afrond (bij vraag 3 staat expliciet aangegeven dat er afgerond moet worden, bij vraag 4 niet...).


Ook de vraagstelling rommelt hier en daar nogal. In vraag 3 hadden ze beter als analogie gewoon "meters" kunnen gebruiken, of "units", in plaats van "punten". En inderdaad in vraag 4 zijn er bepaalde zaken gewoon onduidelijk. Hoe groot is de schimmel in het begin, wordt 0 meegeteld als getal in de fibonacci reeks (zodat op de eerste dag die 0 groter wordt, en pas op de 2e dag 1 groter)...

[Reactie gewijzigd door Rainbow op 1 september 2015 13:47]

Oh holy moly, ik heb ook een cursus begrijpend lezen nodig, er staat "bereken de omtrek", ik maar uitgaan van de diameter... (ze hadden wat mij betreft "omtrek" ook wel in italics mogen zetten, maar toch ook mijn eigen leesfout, oeps! :Y) )
Ik ga van 0 uit, maar dan kom ik niet op een goed antwoord. Ik heb zo'n vermoeden dat er met vraag 4 iets niet klopt.
1 2 3 ... 7

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True