IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Problème N1 de projecteuler.net


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut Problème N1 de projecteuler.net
    Bonsoir,

    Mon code compile mais n'affiche pas la bonne valeur, l'énoncé étant :

    If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

    Find the sum of all the multiples of 3 or 5 below 1000.
    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    #include <iostream>
     
     
    int somme3 (int tableau[], int tailleT);
    int somme5 (int tableau5[], int tailleT5);
     
    int main()
    {
        /* tout avant les pointillés met dans chaque case du tableau nomme tableau les valeur des mutltiple de 3 */
        int nombre3 = 0, i = 0, somme_3 = 0, sommett = 0;
     
        int tableau[900];
     
        while (nombre3 < 1000)
        {
            nombre3 += 3;
     
            tableau[i] = nombre3;
     
            i++;
        }
     
        int tailleT = i;
     
        somme_3 = somme3 (tableau, tailleT); // fonction pour calculer la somme des multiple de 3 inférieur  à 1000
     
        // ------------------------------------
     
    /* idem pour les multiple de 5 */
     
        int nombre5 = 0, j = 0, somme_5 = 0;
        int tableau5[900];
     
        while (nombre5 < 1000)
        {
            nombre5 += 5;
     
            tableau5[j] = nombre5;
     
            j++;
        }
     
        int tailleT5 = j;
     
        somme_5 = somme5 (tableau5, tailleT5); // appel fonction pour somme des multiple de 5
     
        sommett = somme_3 + somme_5; // calcul la somme totak grace aux 2 valeures retournées !
     
        std::cout << "somme totale = " << sommett << std::endl;
     
        return 0;
    }
     
    int somme3 (int tableau[], int tailleT)
    {
     
        int i = 0, sommeT = 0;
     
        for (i = 0; i < tailleT; i++)
        {
     
            sommeT += tableau[i];
        }
     
     
        return sommeT;
     
     
     
    }
     
    int somme5 (int tableau5[], int tailleT5)
    {
        int j = 0, sommeT5 = 0;
     
        for (j = 0; j < tailleT5; j++)
        {
     
            sommeT5 += tableau5[j];
     
        }
     
     
        return sommeT5;
    }
    Je précise, je ne connais pas la gestion des fichiers, que les fonctions, instructions, tableaux, ... boucles ...

    http://projecteuler.net


    Merci d'avance !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 43
    Par défaut
    Je parcouru rapidement ton code, je n'ai pas trouvé ce qui cloche. Mais pour simplifier tu pourrais calculer la somme directement, d'autant plus que tes fonctions somme sont redondantes, un seule suffit.

    Sinon, tu peux aussi utiliser la fonction modulo (%).

    Enfin, je pense qu'il existe une méthode pour connaître directement la somme des nombres divisible par k et inférieur à N.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    salut punx, j'ai trouvé ce qui clochait et oui c'est redondant. Merci

    RESOLU ET A DELESTER (pour le peu de réponses ... et le mauvais code )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème mode design Asp.net[2.0]
    Par dev-man dans le forum ASP.NET
    Réponses: 6
    Dernier message: 07/02/2007, 14h05
  2. problème de déploiement VB.NET 2.0
    Par ranky dans le forum Windows Forms
    Réponses: 5
    Dernier message: 31/01/2007, 12h16
  3. [Mail] Problème mail() et laposte.net
    Par webrider dans le forum Langage
    Réponses: 5
    Dernier message: 18/12/2006, 11h17
  4. Probléme installation visual studio .NET
    Par denebj dans le forum Visual C++
    Réponses: 1
    Dernier message: 18/09/2006, 23h09
  5. [AJAX] Ajax et ASP.NET
    Par boleduch dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/03/2006, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo