Comment trouver la somme de 1 @ 10000

Woodz_9690 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour j'aimerais calculer la somme des nombres de 1 jusqu’à 10000 (incluant 1 et 10,000) mais en omettant les nombres qui sont divisibles par trois (%3) et les nombres dont le chiffre de la centaine est 2 ou 3 (par exemple 1200 ou 3312).

Bref, je n'arrive pas a omettre les centaines de 2 et 3, pour ensuite trouver la somme de tous ces nombres.

besoin d'aide svp!

public class Somme10000 {

    public static void main(String[] arg) {
        long i = 0;
        long sum;

        while (i != 1000) {
            i++;

            if ((i % 3) == 0) 
            {
                continue;
            }
            
            System.out.println("Voila les 1000 entiers : " + i);
            
        }

    }
}

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Tu te compliques énormément la vie.
Ce n'est que des maths...

(i % 3) == 0
permets de déterminer les nombres multiples de 3, ça tu l'as compris.
Il s'agit juste de faire une formule similaire pour déterminer les nombres dont la centaine est multiple de 2, ce sera la même chose pour 3 (on peut même faire les deux en même temps).

1
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
il est même possible de transformer le nombre en une suite de caractères, des chiffres, et d'extraire le chiffre des centaines.
je suppose que le but de l'exercice, c'est que tu découvres cela.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Vu le niveau, je pense que pour l'instant c'est trop tôt pour aborder les chaînes de caractères, ce qui implique la manipulation d'objets.
Il s'agit d'abord de maîtriser les opérateurs élémentaires
= == + ++ += - -- -= * *= / /= % %= ! != < <= > >= && ||
et savoir s'en servir à bon escient dans un contexte mathématiques normalement déjà acquis.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
comment ferais-tu pour trouver le chiffre de la centaine d'un nombre?
0
Woodz_9690 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai ajouté ces condition.. ca fonctionne mais c'est long, mais mon problème reste à trouver la somme de tous ces nombre que j'ai trouvé.
if ((i % 3) == 0 || (i >= 200 && i <= 399) || (i >= 1200 && i <= 1399)
                    || (i >= 2200 && i <= 2399) || (i >= 3200 && i <= 3399) || (i >= 4200 && i <= 4399)
                    || (i >= 5200 && i <= 5399) || (i >= 6200 && i <= 6399) || (i >= 7200 && i <= 7399)
                    || (i >= 8200 && i <= 8399) || (i >= 9200 && i <= 9399)) {
                continue;    

public class Somme10000 {

    public static void main(String[] arg) {
        long i = 0;
        long sum;

        while (i != 10000) {
            i++;

            if ((i % 3) == 0 || (i >= 200 && i <= 399) || (i >= 1200 && i <= 1399)
                    || (i >= 2200 && i <= 2399) || (i >= 3200 && i <= 3399) || (i >= 4200 && i <= 4399)
                    || (i >= 5200 && i <= 5399) || (i >= 6200 && i <= 6399) || (i >= 7200 && i <= 7399)
                    || (i >= 8200 && i <= 8399) || (i >= 9200 && i <= 9399)) {
                continue;
            }

            System.out.println("Voila les 1000 entiers : " + i); //Pour verifier mes nombres
        }
    }
}
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Woodz_9690 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
en effet, tu devrais encore faire quelques exercices pour progresser et trouver des méthodes plus efficaces.
que proposes-tu pour calculer la somme, par exemple, des nombres de 1 à 100?
0