Accueil > > > DECOMPOSITION D'UN NOMBRE EN PUISSANCES DE FACTEURS PREMIERS.
DECOMPOSITION D'UN NOMBRE EN PUISSANCES DE FACTEURS PREMIERS.
Information sur la source
Description
1ere source ici, le code décompose un nombre en produits de facteurs premiers, par exemple en entrant 1256 , la page vous sortira 1256 = 2^3*157^1. si vous entrez deux nombres, le script cherche le PGCD grace a l'algorithme d'euclide, puis l'affiche, ainsi que le PPCM. Chaque facteur est ensuite stocké dans une valeur d'un array $prem, et donc facilement evolutif. script en ligne sur http://tpepetrole0506.free.fr/navette/fact2.php
Source
- <?php
- $f1 = $_GET['a'];
- $f2 = $_GET['b'];
- function prems($num)
- {
- if ( $num != "" ) {
- $a = 2;
- $h1 = $num;
- echo "$num = ";
- while ($num > 1) {
- $b = $num / $a;
- if (is_int($b)) {
- $num = $b;
- $fact = "$fact $a";
- }
- else {
- $a++;
- }
- }
- $o = 1;
- $m = 1;
- $d = 1;
- $prem["$h1"] = explode(" ", $fact);
- while($o < count($prem["$h1"])) {
- if ($prem["$h1"][$o] == $prem["$h1"][$o + 1]) {
- $m = $m + 1;
- }
- if ($prem["$h1"]["$o"] != $prem["$h1"][$o + 1]) {
- if ($o + 1 == count($prem["$h1"])) {
- echo $prem["$h1"]["$o"] ."^". $m;
- $d = $d * ($m + 1);
- }
- else {
- echo $prem["$h1"]["$o"] ."^". $m ."*";
- $d = $d * ($m + 1);
- }
- $m = 1;
- }
- $o++;
- }
- echo "<br>". $h1 ." admet exactement ". $d ." diviseurs<br>";
- if ( $d == 2 ) {
- echo $h1 . " est premier </br><br>";
- }
- }
- }
- prems($f1);
- prems($f2);
-
-
- function PGCD($a,$b) {
- $r = fmod($a,$b);
- $p = $b;
- while ( fmod($a,$b) != 0 ) {
- $r = fmod($a,$b);
- $a = $b;
- $b = $r;
- if ( fmod($a,$b) == 0) {
- return ($b);
- }
- }
- if ($r == 0) {
- return ($p);
- }
- }
- $pgcd = PGCD($f1,$f2);
- echo "<br>PGCD(".$f1.",".$f2.")=". $pgcd;
- $ppcm = ( $f1 * $f2 ) / $pgcd;
- echo "</br>PPCM(".$f1.",".$f2.")=". $ppcm;
-
-
-
-
- ?>
- <form action="" method=GET><input type=text name="a" value="<?php echo $_GET['a']; ?>"/><input type=text name="b" value="<?php echo $_GET['b']; ?>"/><input type=submit value="Submit" style="background:aqua"/></form>
<?php
$f1 = $_GET['a'];
$f2 = $_GET['b'];
function prems($num)
{
if ( $num != "" ) {
$a = 2;
$h1 = $num;
echo "$num = ";
while ($num > 1) {
$b = $num / $a;
if (is_int($b)) {
$num = $b;
$fact = "$fact $a";
}
else {
$a++;
}
}
$o = 1;
$m = 1;
$d = 1;
$prem["$h1"] = explode(" ", $fact);
while($o < count($prem["$h1"])) {
if ($prem["$h1"][$o] == $prem["$h1"][$o + 1]) {
$m = $m + 1;
}
if ($prem["$h1"]["$o"] != $prem["$h1"][$o + 1]) {
if ($o + 1 == count($prem["$h1"])) {
echo $prem["$h1"]["$o"] ."^". $m;
$d = $d * ($m + 1);
}
else {
echo $prem["$h1"]["$o"] ."^". $m ."*";
$d = $d * ($m + 1);
}
$m = 1;
}
$o++;
}
echo "<br>". $h1 ." admet exactement ". $d ." diviseurs<br>";
if ( $d == 2 ) {
echo $h1 . " est premier </br><br>";
}
}
}
prems($f1);
prems($f2);
function PGCD($a,$b) {
$r = fmod($a,$b);
$p = $b;
while ( fmod($a,$b) != 0 ) {
$r = fmod($a,$b);
$a = $b;
$b = $r;
if ( fmod($a,$b) == 0) {
return ($b);
}
}
if ($r == 0) {
return ($p);
}
}
$pgcd = PGCD($f1,$f2);
echo "<br>PGCD(".$f1.",".$f2.")=". $pgcd;
$ppcm = ( $f1 * $f2 ) / $pgcd;
echo "</br>PPCM(".$f1.",".$f2.")=". $ppcm;
?>
<form action="" method=GET><input type=text name="a" value="<?php echo $_GET['a']; ?>"/><input type=text name="b" value="<?php echo $_GET['b']; ?>"/><input type=submit value="Submit" style="background:aqua"/></form>
Historique
- 24 novembre 2006 13:11:43 :
- 24/11/06: le script genere maintenant le nombre exact de diviseurs, et indique si le nombre entré est premier ou pas
- 29 novembre 2006 18:46:36 :
- rajout PGCD + PPCM
- 30 novembre 2006 20:13:56 :
- rectification d'un mauvais c/c
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Réactualisation d'une page tjrs en premier plan. Help :) [ par lechti62 ]
Bonjour j'ai une pag dans uen frame qui s'actualise toutes les 2 secondes de cette façon<head><meta http-equiv="refresh" content="2"></
MySQL - Ordonner des nombres [ par psychodingue ]
Alors voilà mon prob:Je voudrai ordonner par ordre inverse des nombres, alors j'me connecte à ma base de donner puis je fait:ORDER BY clics DESCJe fou
Splitter un texte en nombres [ par JMGR ]
Je cherche à stocker les forum déja vus par les utilisateurs d'un forum que je crée, mais je ne désire pas utiliser le cookies qui sont je trouve, com
Premier pas et Pb avec phpmyadmin [ par gege1024 ]
voila, je desire passer d'un site statique à un site dynamique,comme je ne compte pas faire de mon ordi un serveur, j'ai ouvert un compte php3 sur fre
SVP : Aide pour mon premier formulaire. [ par davggy ]
Salut à tous.Je suis tout tout débutant et très intrigué par les capacités du PHP.Mon premier souhait est de récupérer par mail les informations fourn
Nombres entier [ par ekinoks ]
he... escusé moi mais he .... comment on fait pour avoir que les nombres entier de nombres decimoexemple :<?$truk = 3/2;echo $truk; //g envi qeu ic
Grille de nombres [ par Tomcube ]
Salu,J'shui en train de faire un script de loto.A peine commencé, déjà un truc qui m'énerve : la grille de nombres. Je veux faire la même grille que s
Nombres de jours entre 2 dates! [ par jimmy69 ]
Bonjour a tous,Voila j'ai un p'tit stress ....si quelqu'un pouvait m'aider!En fait j'enregistre mes donnees ds une table mysql , des donnees comme le
valeur tronquée au premier espace [ par Prosper ]
Bonjour,Je butte sur un truc con depuis un bout de temps et je n'arrive pas à trouver pkoi .Voila le probleme :je dispose d'un formulaire comprenant u
Suite de nombres [ par jak123 ]
Bonjour, j'ai codé une page photos, mon seul hic c'est que j'aimerai que mon chiffre 1 sur mon code ci-dessus, prenne les valeurs de 1 au nombre que j
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|