| Département d'Informatique | 
| IUP1 GMI 2002/2003 | 
| Algorithmique & Programmation | 
| Corrigé du Contrôle Continu du | 
| Mardi 26 novembre | 
 
I   Quotient de 2 entiers naturels avec un nombre illimité de décimales
Fichier : quotient.c
#include <stdio.h>
main()
{
  int reste; /* les restes sucessifs */
  int dec; /* les décimales successives */
  int a,b; /* les 2 entiers naturels donnés */
  int n; /* le nombre de décimales donné */
  int i; /* les numéros de décimale de 1 à n */
  int dividende; /* les dividendes successifs */
   
  /* --- lecture des données --- */ 
  printf("Entrer le dividende (a) : ");
  scanf("%d",&a);
  printf("Entrer le diviseur  (b) : ");
  scanf("%d",&b);
  printf("Entrer le nombre de décimales désirées : ");
  scanf("%d",&n);
 
  /* --- affichage du quotient --- */
  /* -- le debut du message */
  printf("Le quotient de %d (a) par %d (b) est : ",a,b);
  
  /* -- la partie entière */
  printf("%d.",a/b);
  /* -- les décimales */  
  reste=a%b;
  for(i=1;i<=n;i++) /* pour chacune des décimales */
    {      
      /* le nouveau dividende est le reste * 10 */
      dividende=reste*10;
      /* la décimale est la partie entière du dividende divisé par b */
      dec=dividende/b;
      /* affichage de la décimale courante */
      printf("%d",dec);
      /* mis à jour du reste */
      reste=dividende%b;     
    }
  printf("\n");
}
II   Partition d'un entier naturel en 3 entiers naturels
Fichier : partition.c
#include <stdio.h>
main()
{
  int i,j,k; /* les 3 éléments d'une partition */
  int n; /* l'entier naturel donné */
  /* --- lecture du nombre entier naturel n --- */
  printf("Entrer un entier naturel : ");
  scanf("%d",&n);
  /* --- affichage des partitions --- */
  
  printf("Les partitions de %d sont : \n",n); 
  /* -- on parcours l'ensemble E = {(i,j,k) | 0<=i<j<k<n} par 3 itérations */
  for(i=0;i<n;i++)
    for(j=i+1;j<n;j++)
      for(k=j+1;k<n;k++)
      /* -- une partition correspond à un elt de E tels que i+j+k=n */ 
        if(i+j+k==n) 
          printf("{ %d, %d, %d }\n",i,j,k);
}
This document was translated from LATEX by
HEVEA.