Programme pascal, besoin de solution
anice
-
sisi -
sisi -
Salu à vous tous,
J'ai besoin de votre aide. Un coppin m'a donné l'exercice suivant, à réaliser en turbo pascal, et je n'ai pas pu le faire m^me l'algoritme.
Le voici, afin que vous puissiez me donner la solution écrite en ce language, ou même l'algoritme.
Merci infiniment, car c'est très urgent.
---
écrire un programme pascal intitulé "mult_div",
permettant de déterminer et d'afficher tous les diviseurs ainsi de tous les multiples d'un entier P donné,
dans une partie d'un tableau T de N avec (0<Ind_inf<Ind_sup<_N)
J'ai besoin de votre aide. Un coppin m'a donné l'exercice suivant, à réaliser en turbo pascal, et je n'ai pas pu le faire m^me l'algoritme.
Le voici, afin que vous puissiez me donner la solution écrite en ce language, ou même l'algoritme.
Merci infiniment, car c'est très urgent.
---
écrire un programme pascal intitulé "mult_div",
permettant de déterminer et d'afficher tous les diviseurs ainsi de tous les multiples d'un entier P donné,
dans une partie d'un tableau T de N avec (0<Ind_inf<Ind_sup<_N)
A voir également:
- Programme pascal, besoin de solution
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Programme demarrage windows - Guide
- Driverpack solution - Télécharger - Divers Utilitaires
2 réponses
Salut,
En "pseudo langage" ca donne:
i:=j:=1;
pour i de 1 a (racine(P))
si (P mod i =0) alors
T[j]=i; //direct -> table car meme sens de progression
aux[j]=P/j; //memo dans auxiliaire pour l instant
finsi
finpour
//a ce stade, on a tous les diviseurs dans T[1..j] et aux[1..j]
//on "recolle" aux [j..1] a T[1..j]
pour i de 1 à j
T[j+i]:=aux[j+1-i];
finpour
//on a tous les diviseurs (P inclus) dans T[1..2j]
// on attaque les multiples
i:=2;
j:=2*j-1;
tant que i*P<N faire
T[j+i]:=i*P;
i:=i+1;
fintantque
Voila y a pls qu a coder, normalement ca doit marcher
Good luck
En "pseudo langage" ca donne:
i:=j:=1;
pour i de 1 a (racine(P))
si (P mod i =0) alors
T[j]=i; //direct -> table car meme sens de progression
aux[j]=P/j; //memo dans auxiliaire pour l instant
finsi
finpour
//a ce stade, on a tous les diviseurs dans T[1..j] et aux[1..j]
//on "recolle" aux [j..1] a T[1..j]
pour i de 1 à j
T[j+i]:=aux[j+1-i];
finpour
//on a tous les diviseurs (P inclus) dans T[1..2j]
// on attaque les multiples
i:=2;
j:=2*j-1;
tant que i*P<N faire
T[j+i]:=i*P;
i:=i+1;
fintantque
Voila y a pls qu a coder, normalement ca doit marcher
Good luck