J'expérimente avec une nouvelle plate-forme et j'essaie d'écrire un programme qui traite des chaînes qui ne dépassent pas 60 caractères et je voudrais remplir le magasin de données avec de petits morceaux de code célèbres ou bien connus et équations, puisque la programmation et les mathématiques vont de pair avec le thème de mon logiciel. Le code peut être dans n'importe quelle langue et les équations de n'importe quelle discipline des mathématiques, tant qu'ils sont inférieurs à un total de 60 caractères. Je soupçonne que les gens vont faire un peu de réflexion pour celui-ci.
Par exemple,
#include<stdio.h>
int main(){printf ("Hi World\n");return 0;}
60 caractères exactement!
Merci beaucoup pour votre sagesse!
algorithms
source-code
BeachRunnerJoe
la source
la source
Réponses:
La routine classique de copie de chaîne C est connue de moins en moins de gens ces jours-ci:
la source
if (alarm = red) launchNukes();
-trap). Dijkstra considérerait ce code plus que nuisible. Je suis d'accord qu'il est impératif pour un programmeur C de comprendre au moins ce code, mais je pense qu'il est plus important pour lui de savoir comment le faire mieux.pas une ligne, mais je présente le dernier bug du monde C:
la source
LaunchNukes();
Je vois le jeu de la vie de Conway dans APL flottant beaucoup:
Un bonus supplémentaire est que cela vous permettra de gérer correctement unicode.
la source
Une version modifiée d'un célèbre monoplace Perl:
Cette expression régulière correspond à des chaînes dont la longueur est première.
La version originale est:
qui correspond à des chaînes composées d'un nombre premier de 1.
la source
Tri rapide:
Si la liste est vide, le résultat trié est la liste vide.
Si la liste commence par l'élément x et que le reste de la liste est xs, le résultat trié est une liste composée de la liste triée composée de tous les éléments en xs inférieurs à x concaténés avec l'élément x concaténés avec la liste triée de tous éléments en x plus grands que x.
(ou en d'autres termes - divisez en deux piles, toutes inférieures à x et toutes supérieures à x, triez-les toutes les deux et créez une liste avec la pile inférieure à, l'élément x et la pile supérieure à).
Bat la compréhensibilité de la version C assez facilement.
la source
qsort (x:xs) = qsort lesser ++ equal ++ qsort greater where (lesser,equal,greater) = part x xs ([],[x],[])
La fonction Ackerman . L'implémentation de la version Ackermann-Péter devrait tenir en 60 caractères :)
Cette jolie constante hexadécimale: 0x5f3759df. C'est le cœur du code le plus WTFing que j'ai jamais vu: la racine carrée inverse rapide .
Le fameux swap XOR .
question = /(bb|[^b]{2})/
la source
Quand j'ai découvert le forkbomb bash, je pensais que c'était vraiment adorable.
la source
et ses dérivations semblent être populaires. :-)
la source
Parce que vous mentionnez des équations, celle-ci appartient à votre liste:
( Wolfram Alpha rendu : )
la source
e^{i/pi} = i^2
i² == -1
, vous pouvez donc équilibrer l'équation en soustrayant un des deux côtés, en supprimant le+1
et en le changeant=0
en-1
oui²
Comment détecter les nombres pairs:
la source
!(x%2)
dans des langues sensées.!(x & 1)
dans les langues sans optimisation du compilateur.import this
en Python.EDIT car les commentaires ne peuvent pas contenir de sauts de ligne: pour ceux qui n'ont pas d'interpréteur Python à portée de main, c'est la sortie
la source
Pas tout à fait 2 lignes mais je dirais que c'est assez célèbre:
En fait, certaines langues peuvent le décrire sur une seule ligne. Lua me vient à l'esprit mais il y en a plus.
la source
Mon exemple de calcul lambda préféré est le combinateur Y:
la source
À partir d'un exercice dans K&R, voici une fonction qui retournera combien de bits sont définis dans le nombre donné. À 58 caractères:
Cela prend du temps proportionnel au nombre de bits mis. La partie "ah ha" ici est que
Supprime le bit défini le plus à droite de
n
.la source
Triangle récursif de Pascal en une seule ligne (Haskell)
Cinquante-deux caractères, ajoutez des espaces au goût. Avec l'aimable autorisation de "Ephemient" dans le commentaire ici .
Je pensais que c'était un meilleur exemple que les solutions cryptiques mais brèves de J et K (bien que je ne sois pas encore utilisateur de Haskell).
la source
Roulette Unix (DANGER!)
Gracieuseté de la réponse de Bigown dans le fil de la blague (et le commentaire):
(Cela fait 62 caractères, vous pouvez donc supprimer le commentaire (cela fonctionnerait-il de cette façon?) Ou certains espaces non essentiels.)
la source
Séquence infinie de Fibonacci (Haskell)
la source
fibs = 0 : scanl (+) 0 fibs
?C'est l'un des bugs les plus chers de l'histoire. Cette instruction Fortran affecte la valeur flottante de 1,3 à la variable nommée
DO10I
.Le code correct - l'en-tête des instructions répétées de boucle jusqu'à ce que l'instruction étiquetée 10 et la variable de boucle
I
acceptant les valeurs 1, 2, 3:la source
Appareil de Duff :
Tom Duff a déroulé une écriture de port mappé en mémoire dans l'une des constructions C les plus bizarres que le monde ait vues.
la source
Tout ce qui a à voir avec Hello World me vient à l'esprit. Vous pouvez choisir différentes variantes si vous prévoyez de stocker plusieurs langues.
Pour quelque chose de plus banal, il y a Fibbonacci .
la source
La ligne ci-dessus de partitions de code Scala
people
(une liste dePerson
s) en deux listes en fonction de leurs âges respectifs.Il faut beaucoup de code pour faire la même chose en Java:
la source
Permutation des valeurs de deux variables sans utiliser une troisième variable. C'est l'une des premières choses dans la programmation qui m'a été dit et pensé "Hmm ... c'est cool"
la source
XOR
s, mais ce fut ma nostalgie pour aujourd'hui :)Magie noire de John Carmack
la source
Le plus grand nombre pouvant être représenté par 8 octets (Python)
la source
Opérateur conditionnel :
minVal = (a <b)? un B;
Boîtier de commutateur
pour chaque boucle [Java]
la source
!
l'opérateur unaire ou+
l'opérateur binaire. Ce n'est tout simplement pas exact.?:
est l'opérateur conditionnel;)Cette Quine du fichier Jargon en C:
Il y a aussi une version LISP là-bas, mais vous pouvez en trouver beaucoup d' autres flottant dans presque toutes les langues que vous pourriez imaginer ...
la source
l'identité d'Euler qui relie les plus beaux nombres de l'univers mathématique: 1, 0, e, i et π: e ^ i (π) + 1 = 0
la source
J'en ai eu une bonne et je l'ai écrite en marge.
la source
Probablement pas célèbre, mais l'un de mes favoris. Pour la plupart, il n'est pas immédiatement évident pourquoi cela fonctionne.
la source
C'est un peu plus de 60 caractères mais cela dépend vraiment du nom des variables (donc je l'inclus!)
laissez readLines (rdr: StreamReader) =
seq {alors que rdr.EndOfStream ne
donne pas rdr.ReadLine ()}
Belle petite fonction pour lire un fichier dans une séquence ligne par ligne en F #.
la source