Program C qui calcule la somme de nb premiers

Fermé
Khalid Mekouar - Modifié par Khalid Mekouar le 2/01/2011 à 12:03
scriptiz Messages postés 1420 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 mai 2013 - 5 janv. 2011 à 16:25
Bonjour,
svp je galere a trouver un solution pour ecrire ce programme en c

ce programme doit lire un entier n , et puis il doit calculer la somme et le produit des nombres premiers inferieurs à n .


je n'est aucune idée par ou commencer , svp donner moi un coup de main .



4 réponses

scriptiz Messages postés 1420 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 mai 2013 421
2 janv. 2011 à 13:13
Au cas où voici le code sans fonction :

#include <stdio.h>

#define MAX 25

int main()
{
    int i, j, somme = 0;

    printf("0");
    for(i = 1; i <= MAX; i++)
    {
        if(i < 2) continue;
        if(i == 2)
        {
            printf(" + %d", i);
            somme += i;
            continue;
        }
        if((i % 2) == 0) continue;

        for(j = 3; (j * j) <= i; j += 2)
        {
            if((i % j) == 0) continue;
        }
        printf(" + %d", i);
        somme += i;
    }
    printf("\nSomme des nombres premiers entre 1 et %d = %d\n", MAX, somme);
}



Il suffit de changer MAX pour calculer plus de nombres, et le 0 est juste là pour faire joli vu qu'il est le neutre de l'addition (dans la ligne de calcul ^^)
5
khalid mekouar
2 janv. 2011 à 17:56
y'a une erreur quelque part , car le program considere 9 comme nombre premier
0
fiddy Messages postés 11067 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 813
Modifié par fiddy le 2/01/2011 à 18:20
Ca m'étonne pas ^^.
Mais ce n'était qu'un exemple. On n'est pas là pour te donner la solution.
Si t'as pas vu les fonctions, tu peux effectivement faire deux boucles for.
Et s'il y a un point qui te bloque, précise-le, mais demande pas la solution directement...

Cdlt,
0