Programme pour calculer la somme

Fermé
Ikram - 30 mars 2021 à 19:32
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 - 1 avril 2021 à 17:32
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

yg_be Messages postés 21304 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mars 2023 1 326
30 mars 2021 à 19:42
0
SupRyze Messages postés 9 Date d'inscription lundi 27 juillet 2015 Statut Membre Dernière intervention 8 avril 2021
31 mars 2021 à 01:43
#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));
}
0
yg_be Messages postés 21304 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mars 2023 1 326
31 mars 2021 à 12:08
super! tu as ton programme!
0
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 1 043 > yg_be Messages postés 21304 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mars 2023
Modifié le 31 mars 2021 à 16:31
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, ...
0
Merci beaucoup
0
[Dal] Messages postés 6057 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 17 mars 2023 1 043 > Ikram
1 avril 2021 à 17:32
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.
0