begin process at 2012 02 05 04:06:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > PARTIE ALIQUOTE

PARTIE ALIQUOTE


 Information sur la source

Note :
Aucune note
Catégorie :Maths & Algorithmes Classé sous :Math, Algorithme, Nombres premiers, Aliquote Niveau :Débutant Date de création :04/05/2008 Vu / téléchargé :3 837 / 50

Auteur : jimonnet

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

La partie aliquote d'un nombre est la somme de ses diviseurs propre.
Ce petit programme decompose un nombre en facteur premier,
cherche tout les diviseurs du nombre
puis calcul la partie aliquote du nombre



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CRIBLE D'ERATOSTHÈNE OPTIMISÉ par pgl10
Source avec Zip Source avec une capture RÉSOLUTION SUDOKU (9X9) PAR BACKTRACKING RÉCURSIF INTELLIGEN... par Gallien69
RESOLUTION D'UNE EQUATION DU SECOND DEGRÉ AVEC RACINES REEL... par maloum41
GÉRER UN COMBAT DANS UN JEU 2D / ALGORITHME PRIMAIRE D'UNE I... par Chiheb2010

Commentaires et avis

Commentaire de acx01b le 05/05/2008 10:24:25

salut
il y a des trucs un peu bizarres (au niveau algorithmique et clarté) dans ton code!

Commentaire de jimonnet le 05/05/2008 12:21:20

Ha bon...
lesquels ??

Commentaire de acx01b le 05/05/2008 21:21:38

la fonction diviseurs()

et s'il y a plus que 7 diviseurs ?

exemple 223092870 = 2*3*5*7*11*13*17*19*23

Commentaire de jimonnet le 06/05/2008 11:19:23

oui en effet
mais les cas sont tres rare
2 ou 3 inferieur a 10^10
or le logiciel ne depasse pas les 10^10
sans risque de bug

en fait ce bout de programme est le debut d'un autre
que je posterai plus tard car pas au point
et qui ne sera pas penalisé par ce souci

Commentaire de acx01b le 06/05/2008 13:29:15

salut

j'ai recodé ton programme comme je l'aurais fait, à toi de voir si c'est plus clair

#include <stdio.h>

#define MAX 10

void decomposer(int n, int *facteurs_premiers, int *puissance_facteurs_premiers, int *nombre_facteurs_premiers) {
    int nb = 0, d = 3;
    printf("%d = ",n);
    if (!(n%2)) {
        facteurs_premiers[0] = 2;
        puissance_facteurs_premiers[0] = 1;
        n /= 2;
        while(!(n%2)) {
            puissance_facteurs_premiers[0]++;
            n /= 2;
        }
        printf("2^%d * ", puissance_facteurs_premiers[0]);
        nb = 1;
    }
    while(n != 1) {
        if (!(n%d)) {
            facteurs_premiers[nb] = d;
            puissance_facteurs_premiers[nb] = 1;
            n /= d;
            while(!(n%d)) {
                puissance_facteurs_premiers[nb]++;
                n /= 2;
            }
            printf("%d^%d * ", d, puissance_facteurs_premiers[nb]);
            nb++;
        }
        d += 2;
    }
    *nombre_facteurs_premiers = nb;
}

void enumerer_diviseurs(int *facteurs_premiers, int *puissance_facteurs_premiers, int nombre_facteurs_premiers, int diviseur, int *somme_diviseurs) {
   int i;
   if (nombre_facteurs_premiers == 0) { *somme_diviseurs += diviseur; printf("%d\n", diviseur); return; }
   for (i = 0; i <= *puissance_facteurs_premiers; i++) {
      enumerer_diviseurs(facteurs_premiers+1,puissance_facteurs_premiers+1, nombre_facteurs_premiers-1,diviseur,somme_diviseurs);
      diviseur *= *facteurs_premiers;
   }
}

int main(int argc, char* argv[])
{
    int facteurs_premiers[MAX],puissance_facteurs_premiers[MAX],nombre_facteurs_premiers, Nombre, somme_diviseurs;
while(1)
{
printf("Veuillez entrer le nombre a decomposer \n");
scanf("%d",&Nombre);
printf("\n");
decomposer(Nombre,facteurs_premiers, puissance_facteurs_premiers, &nombre_facteurs_premiers);
somme_diviseurs = 0;
printf("\ndiviseurs:\n");
enumerer_diviseurs(facteurs_premiers, puissance_facteurs_premiers, nombre_facteurs_premiers, 1, &somme_diviseurs);
printf("\n\nLa partie Aliquote du nombre est %ld",somme_diviseurs);
printf("\n\n");
}
return 0;
}

Commentaire de acx01b le 06/05/2008 15:12:46

wops c'est

while(!(n%d)) {
     puissance_facteurs_premiers[nb]++;
     n /= d;
}

et pas

while(!(n%d)) {
     puissance_facteurs_premiers[nb]++;
     n /= 2;
}

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Algorithme de compression STAR amélioré [ par hi_vivie2 ] Bonjour à tous,Je dois réaliser de manière urgente l'implémentation en java de l'algorithme de compression STAR amélioré appliqué aux images en mouvem Algorithme de compression STAR amélioré [ par hi_vivie2 ] Bonjour à tous,Je dois réaliser de manière urgente l'implémentation en java de l'algorithme de compression STAR amélioré appliqué aux images en mouvem un programme à creer [ par yoyo ] je dois creer un programme permettant d trouver les nombres premiers.l'algorithme est donné, et il utilise des tableaux dont les cases sont remplies p Qui sait l'algorithme pour calculer les racines? [ par TMT ] Aidez-moi! conversion de la partie fractionnaire en base n [ par Alucard ] J'ai vu qu'il y avait beaucoup d'algorithme de la partie entière (int) d'un nombre en n'importe quel base mais je voulais savoir si quelqu'un avait un les fonctions et le Math [ par djamine ] beh bonsoir les programmeurs j'ai une problemeje veux en utilisant la formuletan x=2t/1-(t au carré) avec t=tg x/2et le fait que si x est petit par ex Algorithme de mélange [ par C2S ] bonjour, j'aimerais connaitre un algorithme de mélange d'un tableau... (aléatoire) ... c'est pour simuler une fonction "mélanger" relative a un paquet aide sur l'algorithme AMR [ par semecurbep ] Votre texte iciVotre texte ICIVotre texte ICI map basic?????? [ par Sfoued2003 ] slt tout le monde,je me demande si je peux faire implémenter un algorithme de Electre1 sur map basic, pour pouvoir l'utiliser aprés sur map info? et ç algorithme de gauss et decomposition LU [ par speedamine ] bonjour a tous.je voudrai avoir des algorithmes ,ecrits en borland pascal,suivants:methode de gauss ordinaire pour la resolution d'un systeme .la deco


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,763 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales