Vous devez utiliser une seule langue pour écrire des programmes qui effectuent les neuf tâches suivantes, dans l'ordre que vous souhaitez .
- Convertissez un nombre entré de base 10 en base 36.
- Exemple d'entrée:
1000
- Exemple de sortie:
RS
(la sortie doit être en majuscules)
- Exemple d'entrée:
- Convertissez chaque caractère d'une chaîne en ses codes ASCII décimaux de base 10 et imprimez les codes concaténés ensemble.
- Exemple d'entrée:
Scrambled 3GG5
- Exemple de sortie:
839911497109981081011002051717153
- Exemple d'entrée:
- Déterminez si un nombre entré est divisible par 1738.
- Retourne une valeur véridique si elle l'est et une valeur fausse si elle ne l'est pas.
- Déterminez si une chaîne contient la lettre
q
.- Retourne une valeur véridique si c'est le cas et une valeur fausse si ce n'est pas le cas.
- Encodez une chaîne de lettres entrée avec un chiffre César de +1.
- Le boîtier doit être conservé. Les caractères autres que des lettres seront imprimés sans modification.
- Exemple d'entrée:
Good morning, World!
- Exemple de sortie:
Hppe npsojoh, Xpsme!
- Trouvez et imprimez la somme des facteurs premiers d'un nombre.
- Exemple d'entrée:
1320
- Exemple de sortie:
21
- Exemple d'entrée:
- Imprimer
PPCG
. - Affiche les premiers
n
entiers positifs divisibles parfloor(sqrt(n))
.n
est un entier entré.
- Remplacez chaque
o
etO
dans une chaîne entrée parಠ
.- Exemple d'entrée:
Onomatopoeia
- Exemple de sortie:
ಠnಠmatಠpಠeia
- Exemple d'entrée:
Vous aurez remarqué que ce défi ne l'est Code Billiards
pas Code Golf
. L'objectif de ce challenge, comme au billard, est de paramétrer votre code afin qu'il ne puisse être modifié que légèrement pour le prochain challenge. C'est pourquoi vos programmes n'ont pas à résoudre les tâches ci-dessus dans l'ordre.
Votre score est déterminé comme suit
- Votre score augmente de
1
chaque octet dans vos programmes. - Votre score augmente
floor(n^(1.5))
si deux programmes consécutifs ont une distance Levenshtein den
. Par exemple, si votre premier programme estpotato
et votre deuxième programmetaters
, votre score augmente de 12 pour 12 octets et de11
=floor(5^(1.5))
pour une distance Levenshtein de 5.
L'objectif de ce défi est d'obtenir un score aussi bas que possible une fois les neuf programmes écrits. Les règles CG standard s'appliquent.
Pour voir le classement, cliquez sur "Afficher l'extrait de code", faites défiler vers le bas et cliquez sur "► Exécuter l'extrait de code". Extrait créé par Optimizer.
la source
ಠ
eta
? Est-ce 1 (comptantಠ
pour 1 caractère) ou 2 (car ilಠ
s'agit en fait de 2 octets)?Réponses:
Japt ,
886866766725688669Les tâches 5 et 6 sont des tueurs. Il existe peut-être des moyens plus courts de les réaliser. Je pense que les distances de Levenshtein pourraient également être réduites.
!(U%#ۊ
7 octets (le caractère arabe gâche l'alignement)
U!=Uk'q
7 octets, dist 11Us36 u
6 octets, dist 14UmX=>Xc
7 octets, dist 14"PPCG"
6 octets, dist 18Ur"[Oo]",'ಠ
13 octets, dist 27X=Uq f;XoU*X+1,X
16 octets, dist 522oU fX=>2oX eY=>X%Y &&!(U%X)r(X,Y =>X+Y
39 octets, dist 172UmX=>128o mY=>Yd)a k'A i#Z,'A k'a i#z,'a gXc
44 octets, dist 216Voici un extrait qui vous indiquera (l'une des) façons les plus efficaces d'organiser vos programmes:
Afficher l'extrait de code
Avec la dernière version de Japt (non compétitive dans ce défi), la plupart des tâches raccourcissent:
s36 u
5 octetsmc
2 octetsv#ۊ
4 octets
oq
2 octets;B±B+C²UrF,@Bg1+BbX
19 octetsk â x
5 octets"PPCG
5 octetsB=U¬f)oU*B+1B
13 octetsro'ಠ'i
6 octetsL'ordre optimal est maintenant de 2,4,3,1,6,7,9,8,5, avec un score énorme de 217 , soit moins du tiers de l'original!
Bienvenue suggestions!
la source
Pyth, score 489
Conversion de base: 15
Chiffre César: 13 + 11 ^ 1,5
Divisible par 1738: 7 + 11 ^ 1,5
N premiers entiers positifs: 8 + 8 ^ 1,5
Somme des facteurs premiers: 4 + 6 ^ 1,5
Apparence de q dans la chaîne: 4 + 4 ^ 1,5
Joignez tous les codes ASCII: 5 + 4 ^ 1,5
Imprimer "PPCG": 5 + 5 ^ 1,5
Remplacer par
ಠ
: 9 + 7 ^ 1,5la source
Rubis, 1488
Il y a probablement beaucoup de place à l'amélioration ici. A passé la plupart du temps à calculer le score ...
Somme des facteurs premiers : 64 Base 36 : 30 + 47 1,5 = 352 Divisible par 1738 : 22 + 15 1,5 = 80 Impression PPCG : 9 + 18 1,5 = 85 La chaîne contient-elleq
? : 10 + 8 1,5 = 32 Remplacero
: 23 + 16 1,5 = 87 Chiffre César : 32 + 21 1,5 = 128 Codes ASCII : 37 + 26 1,5 = 169 Entiers divisibles par la racine carrée : 72 + 56 1,5 = 491la source
Java, score 8331
Les distances de levenshtein tuent mon score ici.
(Ces programmes prennent l'entrée comme arguments de ligne de commande)
Programme 1 (119):
Programme 2 (120 + 56 1,5 = 539):
Programme 3 (101 + 49 1,5 = 444):
Programme 4 (108 + 20 1,5 = 197):
Programme 5 (186 + 107 1,5 = 1293):
Programme 6 (327 + 228 1,5 = 3747):
Programme 7 (336 + 10 1,5 = 368)
Programme 8 (351 + 34 1,5 = 549):
Programme 9 (305 + 84 1,5 = 1075):
la source
Pyth, score 817
numéro 1:24
numéro 2: (9 + 16 1,5 = 73)
numéro 3: (5 + 8 1,5 = 27)
numéro 4: (5 + 14 1,5 = 57)
numéro 5: (39 + 37 1,5 = 264)
numéro 6: (4 + 39 1,5 = 247)
numéro 7: (5 + 4 1,5 = 13)
numéro 8: (12 + 12 1,5 = 53)
nombre 9 (13 + 13 1,5 = 59)
Pas le meilleur, j'ai juste commencé à apprendre le pyth aujourd'hui et j'ai pensé essayer, le numéro 5 a vraiment tué mon score, je pense que je peux en raccourcir quelques-uns mais cela me fera plus mal sur les distances. Tous les conseils d'utilisateurs plus expérimentés de Pyth sont appréciés.
la source
You must use one language to write programs that perform the following nine tasks, in any order.
Bonne chance!5 + 14^1.5
n'a pas 19 ansPython 3 (actuellement non valide), 621 octets
Pas vraiment ce bon code mais fonctionne un peu: D. La somme des facteurs premiers ne fonctionne pas. J'obtiens toujours un résultat différent de votre exemple, donc je l'ai supprimé. De plus, Python ne prend pas en charge le caractère
ಠ
, il remplace donc leo
s par0
sINFO IO:
1ère entrée: int en base 10 | Sortie: ce nombre en base 36
2ème entrée: une chaîne | Sortie: numéros Ascii de la chaîne
3e entrée: entier | Sortie: vrai ou faux selon que le nombre est divisible d'ici 1738
4ème entrée: chaîne | Sortie: T ou F selon que la chaîne contient "q"
5e entrée: chaîne | Sortie: Chiffre Caser +1 de la chaîne
6ème: imprime littéralement "PPCG"
7e entrée: int n | Sortie: n premiers entiers divisibles par étage (sqrt (n))
8ème entrée: chaîne | Sortie: Remplacé tous les
o
s par 0 (pas par ಠ car python ne prend pas en charge ce caractère, ne soyez pas trop fou :))la source