Programming Challenges
15K subscribers
21 photos
1 file
106 links
I will make you the best Programmer you can be!

Group of the best friends you can have: https://t.me/joinchat/EXSmZ0dDYKpcZWcLQQH-zw
Challenge ideas: @BinaryByter
Youtube: https://www.youtube.com/channel/UCE_XffNtPkEXej9iDW4f0sw
Download Telegram
Variadics!
+======+
Time: 20 minutes
Difficulty: advanced
Language: any that supports variadic arguments (C++)
+==================+
Learn about variadic arguments and make a function that accepts an infinite amount of arguments.

#learning #magic #input
Know Your Tools!
+============+
Time: 1h
Difficulty: easy
Languages: none
+============+
Compile Gcc and The binutils by yourself!
Here is a bit of help: https://wiki.osdev.org/GCC_Cross-Compiler

+============================+

#tools #noprogramming #learning #bash
Deeper and Deeper
+===============+
Time: a bit
Difficulty: hard
Languages: any
+===============+
Use a compiler explorer to see the assembleroutput of your compiler. Then try to optimize your code as much as possible!

+=============+
#learning #tools #assembler #lowLevel
almondbread!
+==========+
Time: 2h
Difficulty: easy, but mathsy
Languages: Any that support graphics
+============================+

Implement a program that renders the Mandelbrot set!

+==========================+

#graphics #fractal #learning #output
Sinking, Burning, Zooming!
+====================+
Time: 2h
Difficulty: easy, but mathsy
Languages: Any that support graphics
+=============================+

Implement a program that renders the burning ship fractal!

+================+

#graphics #learning #output #fractal
Refactouring
+=========+
Time : 5h
Difficulty : Hard
+=========+

Tom has written code for a company! But he doesnt want, that other people can change the code, to ensure that he will be reemployed. Find ways, to obfuscate code such that Tom will be reemployed for refactoring!


+=========+

#learning #gadget #codequality
Nice Curves!
+========+
Time: 2h
Difficulty: medium, mathsy
Language: any
+===================+

Implement a bezier curve function that plots a bezier curve with different parameters

+=============+

#graphics #citroen #maths #learning #input #output
Factorization!
+==========+
Time: 1h
Difficulty: medium-hard
+==================+

Implement Shor's algorithm for Factorization of numbers.

+================+

Challenge No #2
#maths #algorithm #learning #input #output
Spinning Safe!
+==========+
Time: 2h
Difficulty: hard-ish
+=============+

Your friend owns a safe with N different inputs from 0-9. It's locking mechanism is peculiar: it blows up after you doing 10 Steps. In one step, you can change any amount of adjacent inputs by any amount, but always the same.

Program a program that calculates wether it is possible to crack the safe without blowing up and dying.

Example:
Current state: 1234
Code: 2345
Needed steps to solve: 1
(rotate each one up by one)

+====================+
#algorithm #maths #learning #input #output #challenge
Because you know i'm all about that base
+================================+
Time: 1h
Difficulty: maths
+============+
Implement a base64 encoding!

+===========+
#encrypt #learning #algorithm #input #output
Refactoring
+=======+
Time: 2h
Difficulty: hard
+=======+
https://pastebin.com/ucKED2Rd

Oh no! A crackpot has tried to improve CLINL but has done a very bad job about it!

Refactor his function!
To do so,
1) Identify the use of the function
2) Rename variables correctly
3) Try to minimize the code
4) Send us your results!

+===============+
#clean #learning #refactoring
Satisfying!
+======+
Time: 20 minutes
Difficulty: quite easy
Language: none, just theory
+======+
Find a proof showing that you can (or cannot) find boolean values for ANY boolean statement, not containing the same variable twice, that make it result to TRUE.

+=======+
#theory #learning #boolean

Solutions to @Linuxer4Fun
!yeH
+=======+
Time: 5minutes
Difficulty: super easy
Language: any
+=======+
Find a way to revert any string

+=======+

#veryeasy #learning #strings
Ouch! They Byte
+============+
Time: 5min
Difficulty: hard
Language: C/C++
+============+
Given four uint8_t, merge them into a uint32_t

+============+

#bytes #learning #training

Solutions to @maxi_robot