convertir un algorithme en c

convertir un algorithme en c - C - Programmation

Marsh Posté le 15-04-2005 à 15:28:53    

Bonjour, est ce que quelqu'un peut m'aider à traduire l'algorithme suivant en C ca m'aiderait bien :
En fait en algorithmique je me débrouillais pas mal mais depuis qu'on a abordé le c/c++ je suis en galère... un grand merci

Code :
  1. entier n
  2. entier k
  3. début
  4. écrire "Décomposition d'un nombre en facteurs premiers"
  5. écrire "Introduire un nombre > 0"
  6. lire n;
  7. tant que n > 0 faire
  8. début
  9. écrire "Facteurs premiers"
  10. tant n modulo 2 = 0 faire
  11. début
  12. écrire "2"
  13. .n <--- n/2
  14. fin
  15. k <--- 3
  16. tant que n = 1
  17. si (n modulo k = 0) alors k <--- k + 2
  18. sinon
  19. début
  20. ecrire k
  21. n <--- n/k
  22. fin
  23. écrire "Introduire un nombre > 0"
  24. lire n
  25. fin
  26. fin


 
Merci d'avance car je n'ai pas réussi (pourtant c'est simple)
 
Pour l'instant j'ai fait que ça (je suis encore un newb en C) :

Code :
  1. #include <stdio.h>
  2. int n;
  3. int k;
  4. int main(void) {
  5.     printf("Decomposition d'un nombre en facteurs premiers\n" );
  6.     printf("Introduire un nombre > 0 : " );
  7.     scanf("%d",&n);
  8.    
  9.     while (n > 0) {
  10.           printf("Facteurs premiers\n" );
  11.           n%2 = 0;
  12.           printf("2\n" );
  13.           n = n/2;
  14.          
  15.           }
  16.     k = 3
  17.     while (n == 1) {
  18.           if (n%k == 0) { k + 2 }
  19.           else {
  20.                printf


Message édité par nDeXok le 15-04-2005 à 16:38:45
Reply

Marsh Posté le 15-04-2005 à 15:28:53   

Reply

Marsh Posté le 15-04-2005 à 15:34:57    

Montre ce que tu as essayé et les erreurs de compilation/exécution.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 16-04-2005 à 00:26:56    

nDeXok a écrit :


tant n modulo 2 = 0 faire
début
écrire "2"
.n <--- n/2
fin
[/code]
 

Code :
  1. n%2 = 0;
  2.           printf("2\n" );
  3.           n = n/2;



Hum... il est où le "tant que" ? t'aurais pas oublié un "while" ???

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed