Aidez moi pour resoudre cet algorithme

Résolu
doumyas -  
 doumyas -
slt a tous
voila g un probléme pour resoudre cet algorithme,
merci de m'aider:
on remarque que:
12*42=21*24
12*63=21*36
21*48=12*84

1-Ecrire un algorithme qui demande à l'utilisateur de saisir deux entiers à deux chiffres chacun et de tester si les deux vérifient cette propriété ou non.

2-Si on désir modifier l'algorithme précédent de telle sorte qu'il donne directement tous les entiers vérifiant cette propriété sans l'intervention de l'utilisateur. Ecrire cet algorithme

10 réponses

MysticSquall Messages postés 402 Date d'inscription   Statut Membre Dernière intervention   27
 
et t'as pas une base de reflexion?
0
goulamass Messages postés 1426 Date d'inscription   Statut Membre Dernière intervention   177
 
Bonjour,

En fait c'est une permutation

Regarde tu as les mêmes chiffres (et pas nombres) à gauche et à droite.

C'est une simple permutation.

12 devient 21
42 => 24 etc

Donc ton prog doit récupérer les deux chiffres rentrés que je vais appeller AB et CD

Puis vérifier si AB * CD = BA * DC

Pour la seconde question il faut étendre cette recherche pour toutes les combinaisons entre 10 * 10 et 99 * 99
0
Toomy
 
A quel niveau tu bloques ? Qu'est ce que t'as déjà réussi à écrire ?
0
doumyas
 
le probléme c ke comment je peut faire concaténer les 2 chiffres en entier??
0
goulamass Messages postés 1426 Date d'inscription   Statut Membre Dernière intervention   177
 
Faut pas concaténer.

C'est en quel langage???
0
MysticSquall Messages postés 402 Date d'inscription   Statut Membre Dernière intervention   27
 
convertit en chaine de caractere pour les manipuler
par exemple:
saisir "premier nombre", A
saisir deuxiem...............B
..................................C
..................................D

tu convertis tout en caractere et après
AB=A+B
.......

et après tu reconvertit en numerique pour les calculs
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
doumyas
 
non juste en algoritmique
mais voila merci de m' aider
0
doumyas
 
c un peu compliqué pour moi
mais comment on peut reconvertit en numerique??
0
goulamass Messages postés 1426 Date d'inscription   Statut Membre Dernière intervention   177
 
Quel langage???

Sinon l'algo est très simple

je récup deux nombres

AB Et CD

Je génère deux news nombres

BA et DC.

Puis je compare les multiplications entre elles

Si AB * CD == BA * DC

alors la propriété est vérifée.
0
inventrice Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   12
 
Bonjour, j'ai fait la première question avec le langage C
j'espère qu'elle te conviendrait ^^


#include<stdio.h>
int a,b,c,d,ab,ba,cd,dc;
main()
{
clrscr();
printf("entrez le premier nombre: \n");
scanf("%d%d",&a,&b);
printf("entrez le deuxième nombre; \n");
scanf("%d%d",&c,&d);
ab=(a*10)+b;
ba=(b*10)+a;
cd=(c*10)+d;
dc=(d*10)+c;
if(ab*cd==ba*dc)
printf("\nCes nombres réalisent la propriété");
else
printf("\nCes nombres ne r‚alisent pas la propriété");
getch();
return 0;
}
0
doumyas
 
g essayé de le resoudre mais ché pa est ce que c une bonne ideé??
je dois recup: A,B,C et D de type entier d'un seul chiffre
:AB1, AB2, CD1, CD2 de type entier de deux chiffres
A==A*10 " car dizaine"
C==C*10
AB1=A+B
CD1=C+D
TOTAL1=AB1*CD1

A==A/10
B==B*10
C==C/10
D==D*10
AB2=A+B
CD2=C+D
TOTAL2=AB2*CD2

si TOTAL1=TOTAL2
alors la propriété est verifié
0
doumyas
 
ah tu m'a anticipé inventrice, je crois c une bonne ideé pour résoudre cet algo
merci pour votre aide
0