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.