C'est très facile:
Créez un programme sans écrire une seule ligne de code. Le code ne peut être composé que de questions et réponses Stack Overflow existantes.
Le programme doit créer deux nombres aléatoires et produire les nombres
- ajouté à,
- soustrait de,
- multiplié par et
- divisé par
L'un et l'autre.
Règles
Vous devez inclure des liens vers les questions / réponses que vous avez utilisées dans votre réponse. Vous ne pouvez pas modifier le code que vous trouvez, avec les exceptions suivantes:
Vous pouvez renommer des variables, des fonctions et des méthodes. (Cela ne signifie pas que vous pouvez modifier un appel de méthode, en changeant, par exemple scanner.nextInt () en scanner.nextLine () et en prétendant que vous changez le nom d'une méthode. Le changement doit être dans la définition ou la référence à la même entité.). La solution devrait toujours fonctionner si les variables, fonctions ou méthodes devaient être renommées à nouveau.
Vous pouvez ajuster l'indentation de manière appropriée.
Vous pouvez supposer que les modules appropriés sont chargés pour que les extraits de code fonctionnent. (par exemple, importation d'instructions pour Java et Python, utilisation d'instructions pour C # et C ++, et leurs équivalents dans tous les langages) Si l'extrait de code inclut les importations pour vous, vous pouvez les déplacer vers le haut du code.
Si le langage nécessite que le code soit dans une sorte de corps de méthode pour s'exécuter (par exemple,
public static void main(String[] args)
pour Java,static int Main(string[] args)
pour C #, etc.), vous pouvez encapsuler votre code dans la méthode appropriée. Mais le contenu de cette méthode principale doit rester inchangé.Vous devez fournir une liste explicite de tout changement de nom de variable / méthode / fonction / classe effectué.
Vous ne pouvez pas prendre d'extraits d'extraits (ce qui signifie que si vous prenez un bloc de code dans un message, vous prenez le tout) Fournissez une brève description de ce que le code fait pour les personnes qui ne sont pas intimes avec la langue que vous utilisez. Vous devez utiliser les extraits publiés avant le début de ce défi.
Concours de popularité, donc le plus de votes gagne!
Date limite
J'accepterai la proposition qui a recueilli le plus de votes vers la fin du 6 août.
Réponses:
J, 7 questions / réponses, aucune sur J
C'est une façon sacrément bon marché de le faire, je ne vais pas mentir. Voici les réponses SO que j'ai utilisées:
echo
Cette réponse+
,-
,*
Et%
cette question?
Cette réponse[
Cette réponse=
et:
cette question wiki communautaire2147483647
Cette réponsefoo
Cette réponseJ'ai renommé la variable
foo
commea
etb
à mesure du code.la source
Python 2,
76 référencesLa création de cette solution n'a pas été aussi simple qu'elle en avait l'air. La recherche de dépassement de pile pour un code spécifique est difficile, car les symboles ne sont pas inclus dans la recherche.
J'avais trouvé un moyen de le faire avec des nombres aléatoires de 2000 bits, en utilisant une réponse différente à la place de la référence # 1,
mais je n'ai pas pu le tester sur les environnements en ligne que j'utilise car cela impliqueCela pourrait en fait être utilisé maintenant, avec TIO.getrandbits
, qui appelleos.urandom
, me donnant unNotImplementedError
, donc je suis allé de cette façon à la place.Essayez-le en ligne
Les références
import random
est supposé être chargé, car la question indique que cela est autorisé.lst = []
etlst.append(random.randint(1, 100))
- icimap(sum, zip(r1, r2))
,map(lambda t: t[0] - t[1] ,zip(r1, r2))
,r1
Etr2
- iciresult = float(a) / b
- Iciab = [a[i]*b[i] for i in range(len(a))]
- Icifirst, last = some_list[0], some_list[-1]
- Iciprint x
- IciRenommé
lst
renommé enn1
etn2
(Réf # 1: j'ai utilisé le code entier deux fois)r1
etr2
renommé enn1
etn2
(Réf # 2: J'ai cependant utilisé les variables séparées plus tard, pour affecter les cartes et les diviser dans la dernière impression, car la réponse les incluait.)result
eta
renommé enab
, etb
renommé enn2
(Réf # 3)a
etb
renommé enn1
etn2
(Réf # 4)first
et lessome_list
deux rebaptisés àr1
,r2
,ab
oun2
, selon la ligne. (Réf # 5: J'ai utilisé cela quatre fois. Notez que seule la première affectation est utilisée, donc je ne renomme paslast
)x
est renommér1
,r2
ouab
, selon la ligne. (Réf # 6)la source
Décimal , 2 références
Commandes utilisées:
0
SET (index de pile par défaut)1
POUSSER2
CARBONISER2
POP3
E / S00
pile en double01
de la pile à STDOUT4
MATH1
AJOUTER2
SOUSTRAIRE3
MULTIPLIER4
DIVISER8
BUILTIN2
pousser un entier aléatoire pour empilerVersion expliquée:
Sources:
d
(capitalisé)0
via9
Essayez-le en ligne! Vous devrez désactiver le cache de sortie s'il n'est pas automatiquement désactivé.
la source