La tâche
Écrivez un programme, dans la langue de votre choix, qui lit les lignes d'entrée de l'entrée standard jusqu'à EOF, puis les écrit sur la sortie standard dans un ordre ASCIIbétique, similaire au sort
programme de ligne de commande. Un exemple court et non sournois en Python est:
import sys
for line in sorted(sys.stdin):
print(line.rstrip('\n'))
La partie sournoise
Semblable à The OS War , votre objectif est de prouver que votre plate-forme préférée est «meilleure», en faisant délibérément fonctionner votre programme beaucoup plus lentement sur une plate-forme concurrente. Pour les besoins de ce concours, une «plate-forme» comprend toute combinaison de:
- Processeur
- Architecture (x86, Alpha, ARM, MIPS, PowerPC, etc.)
- Témoin (64 bits contre 32 bits contre 16 bits)
- Gros ou petit endian
- Système opérateur
- Windows vs Linux vs Mac OS, etc.
- Différentes versions du même système d'exploitation
- Implémentation du langage
- Différents fournisseurs de compilateurs / interprètes (par exemple, MSVC ++ vs GCC)
- Différentes versions du même compilateur / interprète
Bien que vous puissiez répondre aux exigences en écrivant du code comme:
#ifndef _WIN32
Sleep(1000);
#endif
Une telle réponse ne devrait pas être votée positivement. Le but est d'être subtil. Idéalement, votre code devrait regarder comme ce n'est pas dépendant de la plate - forme du tout. Si vous n'avez des déclarations (ou des conditions basées sur ou ou autre), ils devraient avoir une justification plausible (basée sur un mensonge, bien sûr).#ifdef
os.name
System.Environment.OSVersion
Inclure dans votre réponse
- Le code
- Vos plateformes «favorites» et «défavorisées».
- Une entrée avec laquelle tester votre programme.
- Le temps d'exécution sur chaque plate-forme, pour la même entrée.
- Une description des raisons pour lesquelles le programme s'exécute si lentement sur la plate-forme défavorable.