"Ein Bild sagt mehr als tausend Worte" - so lautet das alte Sprichwort. Das durchschnittliche Wort ist ungefähr vier Zeichen lang, sodass ein Bild 4 KB an Informationen enthält. Aber wie viel Entropie anstatt Information kann ein Bild vermitteln?
Ihre Aufgabe ist es, ein genau 4.000 Byte großes Bild mit der höchstmöglichen Entropie zu erzeugen. Sie können eine beliebige Sprache, Bibliothek oder ein beliebiges Bildformat verwenden und auf der Konsole oder in einer Datei ausgeben, solange Sie Ihr Bild hier hochladen.
Wertung
Ihre Punktzahl ist die Komprimierungsrate (4000 size komprimierte Größe), wenn Ihr Bild mit GNU tar
Version 1.28 und gzip
Version 1.6 unter Verwendung des DEFLATE-Algorithmus und der Standardeinstellungen - insbesondere des Befehls - komprimiert wird tar -czvf out.tar.gz image
. Das kleinste Kompressionsverhältnis gewinnt.
gzip -n image
kann keine Datei größer als 4023 Bytes gegeben einen 4000-Byte - Eingang erzeugen. Es benötigt 10 Bytes für den Header, 8 für die Fußzeile, 1 für den DEFLATE-Blockheader und das Auffüllen und 4 für die DEFLATE-Blockgröße. Der Rest wird nur als unkomprimierte Bytes gespeichert. Die meisten Dateien, die aus zufälligen Bits bestehen, werden unkomprimiert gespeichert, wie es sein sollte.
tar
Schließt standardmäßig Metadaten, einschließlich mtime, in Ausgabedateien ein. Dies wirkt sich auf die endgültige Größe der komprimierten Datei aus. Einige Dateien werden besser komprimiert als andere. Durch Ändern des Befehls in wirdgzip -n image
die Ausgabegröße unabhängig von der Zeit (und dem Namen der Eingabedatei) deterministisch.