Ce défi était à l'origine mis en bac par Magic Octopus Urn; Je l'ai adopté et posté avec sa permission.
Ceci est le fil des flics. Le fil des voleurs est ici .
Le défi
- Première étape: Écrivez un morceau de code (fonction ou programme complet) qui vérifie la primauté .
- Deuxième étape: supprimez des morceaux de votre code en remplaçant les caractères par le symbole
█
. - Troisième étape: publiez le code expurgé sur le fil de la police.
- Quatrième étape: attendez que votre code soit craqué et essayez de casser le code des autres.
Par exemple, le code Groovy {it.isPrime()}
pourrait devenir {██.is█████()}
. (Celui-ci serait stupidement facile à casser; je sais aussi que ce .isPrime()
n'est pas une méthode Groovy.)
Notation
Vous devez inclure la note de votre programme dans sa soumission. Le score est défini comme le rapport des caractères expurgés aux caractères. Donc, si votre programme avait 20 caractères et 5 ont été caviardés, votre score serait de 0,25. Le code Groovy ci-dessus aurait un score de 0,5.
Règles
- Votre programme n'a besoin que de gérer des nombres entiers positifs. Il devrait sortir une valeur véridique si le nombre est premier et une valeur fausse sinon. Veuillez préciser dans votre réponse ce qu'elle produit.
- Votre code ne doit contenir aucun commentaire ni espace inutile.
- Aucun hachage ou obscurcissement cryptographique.
- Votre code ne doit pas être expurgé à plus de 50% (au moins la moitié des caractères doivent être affichés). Cela signifie que le score le plus élevé possible est de 0,5.
- Si votre réponse n'est pas fissurée dans une semaine, vous pouvez la marquer comme sûre et la modifier dans la fissure voulue.
Gagnant
Le gagnant sera la réponse non fissurée ayant obtenu le score le plus bas dans les deux semaines suivant sa publication. En cas d'égalité, celui qui a le plus de voix gagnera. Ce fil est toujours ouvert à plus de soumissions, mais le gagnant choisi après deux semaines sera permanent.
n >= 1
ou tous les nombres entiers?)