Deux entiers N1 et N2 sont dits frères si chaque chiffre de N1 apparaît au moins une fois dans N2 et inversement.
Ecrire un programme qui saisit deux entiers N1et N2, vérifie et affiche sils sont frères ou non.
Exemple :
-Si N1=1164 et N2=614 le programme affichera N1 et N2 sont frères
-Si N1=405 et N2=554 alors le programme affichera N1 et N2 ne sont pas frères.
Svp est ce que quelqu’un aurait une idée commant résoudre ce problème?
Y a pleins d’algorithmes différents.
Par exemple, tu peux extraire la liste des chiffres uniques utilisés dans chaque nombre dans un tableau. Tu compares les tailles des tableaux, en cas d’inégalité, c’est que les nombres ne sont pas frères. Si les tableaux ont la même taille, tu n’as qu’à les parcourir pour vérifier que tous les chiffres présents dans l’un le sont dans l’autre.
voila la solution :
procedure frere(n1,n2:entier);
convch(n1,ch1)
convch(n2,ch2)
i:=0
flag:=0
repeter
j:=0
i:=i+1
repeter
j:==j+1
si ch1[i]=ch2[j] alors
flag:=vrai
finsi
jusqu’a(flag) ou (j=long(ch2)
jusqu’a(flag)ou (i= long(ch1)
si (flag) alors ecrire(“les deux nombres sont freres”)
sinon ecrire(“les deux nombres ne sont pas frere”)
esssssssssssssssst voila la soultion et plus c est plus optimiser que les autre