Source: http://ressources.unisciel.fr/algoprog/s11bases/emodules/bs13mexerc1/res/bs13exerc1-enonce-cpp-TP.pdf