Tom De Puysseleyr
Huidige Dekimo Embedded Challenge recordhouder
Tom De Puysseleyr
Huidige Dekimo Embedded Challenge recordhouder
Tom De Puysseleyr
Het doel van deze wedstrijd is om een slim en snel algoritme te maken dat het gestelde resultaat bereikt. Het algoritme moet geïmplementeerd worden op een Arduino Nano Every, die na inschrijving gratis ter beschikking gesteld wordt door Dekimo.
De winnaar is degene die een correct werkend algoritme heeft, dat het snelste is op verschillende testvectoren die gekozen worden door Dekimo. Het record zal hieronder bijgehouden worden. Telkens wanneer iemand het bestaande record verbreekt, ontvangt die persoon een leuke prijs en wordt, mits toestemming, de naam vermeld als nieuwe recordhouder op onze website.
Momenteel is er geen deadline voor inschrijving of het opladen van resultaten.
De technische details van de opdracht worden verder uitgelegd in de opdrachtbeschrijving die men ontvangt na inschrijving.
De bewerking “faculteit” uit de wiskunde heeft wellicht geen introductie nodig. De faculteit van een getal n wordt genoteerd als n! en is het product van alle natuurlijke getallen van 1 tot en met n. Zo is 5! = 1x2x3x4x5 = 120. In de combinatoriek is dit het aantal permutaties van 5 elementen, of dus het aantal mogelijke anagrammen van woorden van 5 letters. In een basiscursus programmeren wordt de faculteit vaak gebruikt bij het introduceren van recursie, vermits n! = n . (n-1)!. Te weinig wordt daar trouwens bij verteld dat dit soort staartrecursie nodeloos gulzig en inefficiënt is en beter vervangen wordt door een iteratieve lus, maar dit terzijde.
Wie ooit faculteiten berekend heeft, weet dat de resultaten heel snel heel groot worden. De faculteit groeit sneller dan de exponentiële functie. Bij een handmatige berekening is na de eerste tien faculteiten de lol er al van af. Microsoft Excel gaat reeds de mist in bij 21! omdat het resultaat dan niet meer in een 64-bits datatype past. Veel rekenmachines geven het op vanaf 70!, een getal van meer dan honderd cijfers. De ingebouwde Google calculator stopt bij 171!, een getal van ruim driehonderd cijfers dat niet meer in een 1024-bits datatype past.
Wij gaan met de Arduino starten waar Google het opgeeft en waar Microsoft al lang uit de achteruitkijkspiegel verdwenen is. We gaan zelf geen grote faculteiten berekenen, dat zou saai en inspiratieloos zijn. We gaan het leuk houden. De Arduino zal een cijferreeks ontvangen die al een faculteit is. In die cijferreeks zullen twee opeenvolgende cijfers gemaskeerd zijn. Deze cijfers zullen vervangen zijn door ‘xy’. Er moet een algoritme geïmplementeerd worden dat de twee ontbrekende cijfers x en y berekent.
Nemen we als voorbeeld iets klein en handelbaar, namelijk de faculteit van 21. Er geldt dat 21! = 51090942171709440000. De Arduino krijgt als input 510909xy171709440000 en moet daaruit afleiden dat dit enkel een faculteit kan zijn als xy=42. Het zal duidelijk zijn dat voor grote getallen zoals 999! de methode die de faculteit eerst volledig uitrekent niet de ideale oplossing is, of dat die berekening zelfs onmogelijk is met de beperkte resources op een embedded microcontroller.
Deze opdracht lijkt op het eerste zicht misschien onmogelijk. Er zit immers geen vast patroon in de cijfers van een faculteit. Toch is het mogelijk om met enig vernuft verbanden te vinden tussen x en y die samen toelaten om de oplossing ondubbelzinnig te bepalen, dit zonder de faculteit daadwerkelijk te moeten uitrekenen.
Dekimo zal periodiek hints vrijgeven. Wie de oplossing zelf vindt, krijgt op die manier een voorsprong. Maar ook wie er zonder hint niet geraakt, kan uiteindelijk wel tot de gewenste oplossing komen.
Deze wedstrijd is uitsluitend voor inwoners van België en Nederland. Vragen? Aarzel niet om ons te contacteren via het e-mailadres: studentchallenge at dekimo.com
Om deel te nemen is het noodzakelijk om het formulier volledig in te vullen. De adresgegevens hebben we nodig om het pakketje te verzenden. Jouw gegevens zullen niet voor andere doeleinden gebruikt worden.
We verwachten een .ino-bestand of een .zip als source-code voor de Arduino-firmware.
Opmerking: Er wordt slechts één inzending per deelnemer aanvaard.
Dekimo zal periodiek hints vrijgeven. Wie de oplossing zelf vindt, krijgt op die manier een voorsprong. Maar ook wie er zonder hint niet geraakt, kan uiteindelijk wel tot de gewenste oplossing komen.
Aligendenis qui bla que solupta tempori tiuntur itionsequas.
Aligendenis qui bla que solupta tempori tiuntur itionsequas.
Nog niet beschikbaar
Nog niet beschikbaar
Nog niet beschikbaar
Aligendenis qui bla que solupta tempori tiuntur itionsequas unt perovid quia con numquat uritem faccum quam quiatint voluptatqui sam, vellorpos simintis verae maionest aturibusa qui untus etur sit et quae estiand ucitior iatur? Atectot atemoluptas id mos ped qui conet fugiae vellam, qui cus, sum sit liquae audam, nobis dolecero ipsam quis et, ut officipsunto dolore doluptam quat que niminis essimin venima il il eos desequas volestium rehenis voluptas dolum aut latempere nosanis velectius porate dolut et erepudis quos sedite reheni derum debitis pe eturitium et latur, quasper ecullen debit, sit labo. Anit voluptate pa int aut quam, cuptatemos maion num, est, sumquam eat optiis qui uta verit lam, sitionserit, sunt lanis vendiandit aut ute num et vero ideles atet libus rem ulles nossit volorum cone ni sit, tem que natem sit alite nos dendendis aspi.
Datum | Naam | Circuit 1 | Circuit 2 | Circuit 3 | Circuit 4 | Circuit 5 |
---|---|---|---|---|---|---|
19/04/2024 | Tom De Puysseleyr | 673 | 1513 | 2723 | 1168 | 3434 |
18/04/2024 | Iris Gijsbers | 669 | 778 | 838 | 935 | – |
10/04/2024 | Tuur Vernieuwe | 682 | 799 | 822 | 1055 | – |
16/04/2024 | Sarah Vandenbroucke | 680 | 1019 | 1336 | 1102 | – |
14/04/2024 | Thomas De Smedt | 1068 | 1782 | 2554 | 1589 | – |
04/04/2024 | Matis De Schutter | 1118 | 1460 | 2044 | 2752 | – |
14/04/2024 | Thomas Lefever- Teughels | 2731 | 4016 | 3985 | 3928 | – |
14/04/2024 | Rob Coenen | 675 | 791 | – | – | – |
17/04/2024 | Ilja Vandewalle | 733 | 1095 | – | – | – |
16/04/2024 | Tom Boschan | 681 | 1115 | – | – | – |
15/04/2024 | Lowie De Smet | 966 | 1143 | – | – | – |
14/04/2024 | Gilles Vancanneyt | 711 | 1230 | – | – | – |
18/04/2024 | Pieter Soetaert | 5023 | 7166 | – | – | – | 16/04/2024 | Niek Van Dommelen | 668 | – | – | – | – | 21/04/2024 | Clement Peleman | 674 | – | – | – | – | 14/04/2024 | Kevin Das | 676 | – | – | – | – | 14/04/2024 | Wim De Vlaminck | 678 | – | – | – | – | 10/04/2024 | Leon Vandenberghe | 679 | – | – | – | – | 11/04/2024 | Sven Bernaerts | 680 | – | – | – | – | 11/04/2024 | Albert Jorissen | 718 | – | – | – | – | 17/04/2024 | Max Groothuis | 740 | – | – | – | – | 13/04/2024 | Wouter Aerts | 789 | – | – | – | – | 06/04/2024 | Filip Vandenberghe | 6173 | – | – | – | – |