Current Student Challenge 2021 recordholder
In this assignment, we are going to define a new function “f(x)” with some very surprising properties.
Most likely you will already be familiar with the floor function that maps a real number to a lower or equal value. For example, floor(pi)=3. It does not round to the nearest integer, it actually takes a lower (or equal) value, so floor(3.99)=3. If we apply the floor function to an integer, it remains that integer itself, so floor(3)=3. The floor function also exists for negative numbers, and keeps working towards lower or equal values, so floor(-3)=-3, but floor(-pi)=-4. Thus the floor function gives the highest integer that does not exceed the specified argument.
The floor function itself has a number of very special properties and even unsolved mathematical problems to which the answer is still unknown. For this we refer to the literature available online, since here it is not relevant.
We are going to use the floor function as a building block for the definition of a new function, namely “f(x)”:
The function f(x) is quite simple to implement. All common programming environments have a floating point data type and a mathematical library with floor function. Adding the 80 terms of the sum can be done in a simple loop.
The calculation of f(x) turns out to be a playground for numerous optimisation possibilities. Some optimisations are rather obvious. However, for other optimisations one has to dig a little deeper. Legend has it that there is even a real diamond optimisation hidden deep underground.
The goal of this competition is to do better than the straightforward algorithm, and to make an implementation which is as fast as possible. The algorithm must be implemented on the Arduino Nano, which is provided free of charge by Dekimo.
You can win by breaking the existing record. The record is the execution time of a correctly working algorithm that will be tested on different test values by our expert jury. The execution time of the record will be kept up to date on the Dekimo website. Each time someone breaks the existing record, that person will receive a nice prize and the name of the new record holder will be mentioned on the website.
This competition is exclusively for students from Belgium, the Netherlands and the Aachen region.
Any questions? Do not hesitate to contact us via the e-mail address: studentchallenge at dekimo.com
Please note: this is an introductory text, you will receive the complete assignment after registration.
Whoever breaks the record, for at least 6 hours, may choose from one of the prizes below:
You can participate by filling in the form below.
To participate, it is necessary to fill in the form. We need the address and phone number to send the parcel. Your data will not be used for other purposes.
We expect a .ino file or a .zip as source code for Arduino firmware.
Note: We accept only one entry per participant.
Name | Time |
Jente Weyn | 5875 nanoseconds |
Matis De Schutter | 19625 nanoseconds |
Gilles Markvoort | 62313 nanoseconds |
Jelmer David Meuleman | 95125 nanoseconds |
Sander V. (Dekimo employee) | 1887937 nanoseconds |