Programme pour calculer la somme

Signaler
-
Messages postés
5491
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 avril 2021
-
Bonjour, s'il vous plaît.. j'ai besoin d'un programme qui permet de calculer la somme des n premiers termes des nombres premiers
Merci d'avance



Configuration: Android / Chrome 87.0.4280.141

2 réponses

Messages postés
15152
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 avril 2021
831
Messages postés
9
Date d'inscription
lundi 27 juillet 2015
Statut
Membre
Dernière intervention
8 avril 2021

#include <stdio.h>
#include <stdbool.h>

bool estPremier(int p)
{
    for (int i=2; i<p; i++){
        if (p%i==0) {
            return false;
        }
    }
    return true;
}

int sommeNbPremiers(int n)
{
    int S = 0;
    for (int i=2; i<=n; i++){
        if (estPremier(i)) {
            S += i;
        }
    }
    return S;
}

void main()
{
    printf("%d",sommeNbPremiers(2000));
}
Messages postés
15152
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 avril 2021
831
super! tu as ton programme!
Messages postés
5491
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 avril 2021
932 >
Messages postés
15152
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
14 avril 2021

Oui, champagne !

C'est bien un exemple de programme dont on a "besoin" si on veut que le programme donne la somme des 303 premiers termes des nombres premiers, mais ... je ne pense pas qu'il corresponde à ce dont Ikram a "besoin" selon ce qu'il décrit.

@SupRyze : comme Ikram ne parle certainement pas d'un "besoin" vital, son besoin réel n'est pas de disposer d'un programme tout fait dont il aurait besoin de façon urgente, mais qu'on l'aide à apprendre à le faire. Tu ne lui rend pas service doublement : en lui fournissant un truc tout fait et qui, de plus, l'induit en erreur.

Sinon, entre autres, il faudrait aussi rectifier le prototype de main, qui fait mal aux yeux, et retourner quelque chose à la fin de main, songer éventuellement à une méthode plus rapide de calcul, à des types permettant de calculer avec de plus grands nombres, à vérifier le débordement de capacité des types, ...
Messages postés
5491
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 avril 2021
932 > Ikram
si n est égal à 2000, alors tu dois additionner entre eux les 2000 premiers termes à partir de 2 inclus (qui est le premier), jusqu'au 2000ème nombre premier (qui est 17389). Le code proposé ne fait pas cela, il fait autre chose : il additionne entre eux les 303 nombres premiers entre 2 et 1999 inclus.