Anzeige:
Ergebnis 1 bis 4 von 4

Thema: "Project Euler" Problem 1

  1. #1
    Registrierter Benutzer
    Registriert seit
    04.08.2007
    Beiträge
    5

    "Project Euler" Problem 1

    Hallo,
    Ich will die erste Aufgabe beim "Project Euler" lösen, aber irgendwie will es nicht klappen.
    Hier die Aufgabe:
    Code:
    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.
    meine Lösung:
    Code:
    #include <iostream>
    using namespace std;
    
    
    int main()
    {
    
    	int sumtmp;
    	int sum;
    	int threesum;
    	int fivesum;
    
    	for ( int i = 1; sum<1000; i++)
    	{
    		
    		threesum = i*3;
    		fivesum = i*5;		
    		sum = threesum+fivesum+sumtmp;
    		sumtmp = sum;	
    		cout <<"\ni:"<<i<<" "<<sum;
    
    			
    
    	}
    
    return 0;
    }
    Es genügt auch nur ein kleiner Hinweis.

    MFG

  2. #2
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Naja, wäre natürlich noch besser wenn du auch angibst was dein Problem ist?

    In diesem Fall wird zumindest nicht das getan, was gefordert ist, da nicht die Vielfachen von 3 und 5 die kleiner als 1000 aufsummiert werden, sondern nur folgende summe berechnet wird summe(3*i + 5*i) und du das größte i suchst für das die summe < 1000 ist.
    Seine Rätselhaftigkeit wird nur durch seine Macht übertroffen!

  3. #3
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    30.03.2002
    Ort
    Hamburg
    Beiträge
    567
    Es empfiehlt sich immer, wenn du arithmetische Berechnungen ausführen willst, deine Variablen vorher mit einem Wert zu initalisieren. Sonst brauchst du dich über seltsame Ergebnisse nicht wundern. Außerdem bist du mit dem Modulo-Operator hier viel besser bedient.
    Code:
    #include <iostream>
    using namespace std;
    
    int main()
    {
        int sum(0), i(0);
    
        for(i; i < 1000; i++)
        {
            if(i%3 == 0)
            {
                sum += i;
            }
            if(i%5 == 0)
            {
                sum += i;
            }
        }
    
        cout << "Summe: " << sum << endl;
    
        return 0;
    }
    C und C++

  4. #4
    Registrierter Benutzer
    Registriert seit
    04.08.2007
    Beiträge
    5
    Ich danke euch!

    MFG

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •