Défi
Il existe de nombreux nombres qui peuvent être exprimés comme la différence de deux carrés, ou comme la différence de deux cubes, ou peut-être même des puissances supérieures. En parlant de carrés, il existe différentes façons d'écrire un nombre, disons 75, comme la différence de 2 carrés. Tu peux écrire:
75 = (10)^2 - (5)^2
= (14)^2 - (11)^2
= (38)^2 - (37)^2
Parlons donc du défi. Tout d'abord, l'utilisateur entre un nombre puis il saisit une valeur pour n. Vous devez afficher toutes les façons dont ce nombre peut être écrit sous la forme aⁿ - bⁿ.
Entrée et sortie
L'entrée sera le nombre et la valeur de n. Votre sortie doit avoir toutes ces paires de «a» et de «b» telles que la condition susmentionnée est remplie. Le premier nombre de la paire doit être plus grand que le second. Veuillez noter que a, b, n et le numéro d'entrée sont tous des entiers positifs et n> 1 .
Exemples
50, 2 -> (none)
32, 2 -> (9,7), (6, 2)
7, 3 -> (2,1)
665, 6 -> (3, 2)
81, 4 -> (none)
Notation
C'est le code-golf , donc le code le plus court gagne!
==
dans UniHaskell est quelque peu déroutant, car il dénote la congruence en mathématiques.