Réduire les fractions dans le mauvais sens
Dans ce défi de code-golf, vous devez trouver des fractions qui peuvent être réduites dans le mauvais sens mais qui se retrouvent toujours dans le même nombre.
Remarque: la réduction des fractions dans le mauvais sens a ici une définition exacte, voir les détails.
Exemple:
64/16 = 6 4/1 6 = 4/1 = 4
Bien sûr, vous ne pouvez pas simplement frapper les deux 6 mais ici vous vous retrouvez toujours avec la bonne valeur. Dans ce défi, vous devez trouver des exemples comme celui-ci.
Détails
Vous devez écrire une fonction / programme qui accepte un entier positif n
en entrée et génère / renvoie une liste / tableau des fractions au format
numerator1,denominator1,numerator2,denominator2,...
Le programme doit trouver pour chaque fraction a/b
avec a+b=n
et a,b>0
si elle peut être réduite dans le mauvais sens . (Peu importe si elle peut être réduite de manière conventionnelle ou s'il existe de nombreuses possibilités de réduction, il doit simplement être possible de la réduire de la mauvaise manière d'au moins une manière.)
Définition de la mauvaise façon: Une fraction peut être réduite de la mauvaise façon si et seulement si la même séquence de chiffres successifs apparaît dans a et b et si la valeur de la fraction reste la même si vous supprimez la sous-chaîne.
Exemple: 1536/353 peut être «réduit» à 16/3 mais ces deux valeurs ne sont pas égales, vous ne pouvez donc pas réduire cette fraction dans le mauvais sens .
Notez que cette définition de la réduction de la mauvaise façon peut également inclure des fractions qui sont réduites de la bonne façon: 110/10 = 11/1
est dans la définition de la réduction de la mauvaise façon même si c'est une étape valide.
Notation
Le moins d'octets gagne. Vous pouvez écrire une fonction ou un programme qui accepte un entier et renvoie un tableau ou un programme qui utilise stdin / stdout ou vous pouvez considérer n enregistré dans une variable et à la fin du programme, la liste doit être enregistrée dans une autre variable.
Cas de test
Veuillez inclure les tests suivants (dites-moi lesquels je dois ajouter, je n'ai aucune idée du nombre de ces fractions / du nombre d'exemples à prévoir)
n=80 (64/16 should be in this list)
n=147 (98/49 should be in this list)
n=500 (294/196 should be in this list) WRONG since 294+196 != 500 Thanks Falko
1010/10 = 101/1 && 1010/10 /= 110/1
n=147
) est incorrect: 49/89 != 4/8
.