Définition des formats de papier ISO:
Les formats de papier de la série A sont définis par les exigences suivantes:
The length divided by the width is the square root of 2.
The A0 size has an area of 1 unit.
Each subsequent size A(n) is defined as A(n-1) cut in half parallel to its shorter sides.
Tâche:
étant donné une f[n]
sortie d' entrée A0 divisée en n
subdivisions.
Cas de test:
f[1]
à f[12]
:
Ici, A0 est donné par f[1]
, mais cette indexation n'est pas indispensable.
Critères gagnants:
Le code le plus court en octets gagne.
f[2]
être unA0
avec une ligne horizontale qui le divise? c'est-à-dire, n'est-ce pas le casf[2]
dans le testf[3]
?Réponses:
BBC BASIC 49 caractères ASCII
Taille de fichier Tokenized 44 octets
Beaucoup plus court qu'avant! J'oublie toujours les opérateurs de décalage de bits dans BBC BASIC pour Windows car ils n'étaient pas disponibles sur mon ancien ordinateur à l'époque.
BBC BASIC 63 caractères ASCII
Taille de fichier Tokenized 58 octets
Interprète de téléchargement sur http://www.bbcbasic.co.uk/bbcwin/download.html
Utilise l'indexation zéro, ce que je préfère. Ainsi, 0 sort le papier pour A0, 1 sorties A0 divisé en une paire de A1, etc.
Il est nécessaire d'alterner entre diviser par deux les coordonnées X et Y, mais cela dans un tableau aurait coûté trop d'octets. Au lieu de cela, j'utilise le fait que BBC basic a un bloc de variables entières statiques
A%..Z%
de 4 octets chacune stockées dans la mémoire contiguë. Je stocke les valeurs X et Y dansA%
etC%
et j'accède en utilisant le pointeur à%B
modifié par la valeur de d, qui alterne entre4
et-4
.Non golfé
Production
la source
JavaScript (ES6) + HTML,
9694 + 34 =130128 octetsla source
Mathematica,
8785 octetsMerci @martin pour 1 octet.
la source
EdgeForm@Thin
: -1 octetJavaScript (ES6) / SVG (HTML5), 170 octets
Utilise l'indexation basée sur 1.
la source