La somme des entiers pairs de 1 à 100 -HELP-

Résolu/Fermé
MEdAmine0101 Messages postés 96 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 22 novembre 2012 - Modifié par MEdAmine0101 le 6/07/2011 à 23:44
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 8 juil. 2011 à 00:47
Bonjour,

Écrire un programme qui calcule parmi les entiers de 1 à 100 :

1. La somme des entiers pairs.
2. La somme des carrés des entiers impairs.
3. La somme des cubes de ces entiers

d'abord j'ai essayé d'écrire :

for(i=1;i<=100;i++)
{
if(i!%2)
/*les entiers pairs ...*/
else
/*les entiers impairs..*/

mais pour calculer la somme je sais même quoi faire...
Alors je souhaite que vous m'aidiez de résoudre l'exercice parce qu'on a pas déjà traité ce genre d'exercices, la somme d'une suite ou série si vous avez des liens qui peuvent m'aider n'hésitez pas a m'en proposer.....
et merci d'avance !

3 réponses

nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
6 juil. 2011 à 22:01
hé bien, tu peux continuer sur ta lancée en ajoutant une variable globale pour chaque calcul, que tu initialise à 0 et dans lesquelles tu additionnes i à chaque boucle,
Puis i au carré etc...
3
MEdAmine0101 Messages postés 96 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 22 novembre 2012
6 juil. 2011 à 22:29
Alors je dois mettre somme1,somme2,somme3;
mais la formule que je dois y appliquer !!!!??!!!!
somme1=(i*1)+(i*2)+(i*3).........(100)
somme2=(i*(2n+1))²......
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 6/07/2011 à 23:54
Salut !!!
Ta méthode est juste, mais tu peut enlever les tests, et réduire le nombre d'itérations comme ceci !!! espérant que ça soit juste :)

somme1 = 0;        
somme2 = 0;        
somme3 = 0;        
for(i=0; i<100;i+=2) {        
    somme1 += i; // On ajoute le nombre pair(i) a chaque itération        

    somme2 += (i+1)*(i+1); // On ajoute le nombre impair(i+1) qui est multiplié par lui même(carré)       
       
    somme3 += ((i)*(i)*(i))+((i+1)*(i+1)*(i+1)); //On ajoute le triple(cube) du nombre pair(i) additionné par le triple du nombre impair(i+1) le suivant a chaque itération        
}
0
MEdAmine0101 Messages postés 96 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 22 novembre 2012
7 juil. 2011 à 00:57
i+=2 ça présente où ça signifie quoi?
aussi pour += i ?
selon votre méthode est ce que je dois ajouter une instruction (if else)pour les entiers pairs et impairs ??
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
7 juil. 2011 à 01:39
a += b; c'est équivalent à a = a + b;
Ici i+=2 permet de passer directement d'un entier pair au suivant, donc i est toujours pair, et i+1 toujours impair, il est donc inutile de tester si i est pair ou impair, on le sait déjà !

Pour les bases du C, voir Langage C, en particulier Les opérateurs et les Les structures conditionnelles
0