Help with C++

poruka: 6
|
čitano: 1.141
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Help with C++

E, ovako, imam jedan mali problem oko C++...

 

Cilj ovog koda je da zbroji sve brojeve djeljive sa 3 i 5 ispod 1000...

 

 

#include <iostream>
using namespace std;

int main ()
{

    int sum1 = 0;
    int sum2 = 0;
    int sum = 0;
    for (int i = 0, a=i*3; i <= 333; i++, a=i*3) {
    cout << a << endl;
    sum1 = sum1 + a;
    }

    for (int c = 0, b=c*5; c<=199; c++, b=c*5) {
    cout << b << endl;
    sum2 = sum2 + b;
    }
   
    cout << "The sum is: " << sum1 + sum2 << endl;

 
}

 

I na kraju mi pokaže da ovo nije točno Sramim se...

Hvala unaprjed na pomoći

scio me nihil scire!
Poruka je uređivana zadnji put sri 26.8.2009 11:12 (eRasmos).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Help with C++

Da nisi mislio na ovo ...ako nije pojasni malo zadatak..da li zbroj samo onih brojeva koji su djeljivi i sa 3 i sa 5 ili posebno pa zbroj?

 

#include <iostream>
using namespace std;

int main ()
{

             int sum=0;
            int sum2 = 0;
            for (int i = 1; i < 1000; i=i+2)
            {
                sum = sum + i;

            }
           cout<<sum<<endl;
            for (int i = 0; i < 1000; i = i + 5)
            {
                sum2 = sum += i;

            }
            cout<<sum2<<endl;
      
           
   
    cout << "The sum is: " << sum + sum2 << endl;
 system("pause");

 

 

 

 

 

Private
16 godina
neaktivan
offline
RE: Help with C++
Private kaže...

Da nisi mislio na ovo ...ako nije pojasni malo zadatak..da li zbroj samo onih brojeva koji su djeljivi i sa 3 i sa 5 ili posebno pa zbroj?

 

#include <iostream>
using namespace std;

int main ()
{

             int sum=0;
            int sum2 = 0;
            for (int i = 1; i < 1000; i=i+2) // ovo je sigurno krivo
            {
                sum = sum + i;

            }
           cout<<sum<<endl;
            for (int i = 0; i < 1000; i = i + 5)
            {
                sum2 = sum += i;

            }
            cout<<sum2<<endl;
      
           
   
    cout << "The sum is: " << sum + sum2 << endl;
 system("pause");

 

 

 

 

#include <iostream>

using namespace std;

int main( void ) {

  int sum = 0;

  for( int i = 0; i < 1000; ++i )

    sum += ( !(i%3) || !(i%5) ) * i; // suma brojeva koji su djeljivi ili sa tri ili sa pet

    // sum += ( !(i%3) && !(i%5) ) * i; // suma brojeva koji su djeljivi i sa tri i sa pet

  cout << "Sum: " << sum << endl;

  return 0;
}

Sa štovanjem, brahle!
16 godina
neaktivan
offline
Help with C++

Hvala obojici...

 

Ovo brahle-ovo radi... =)

 

moze kljuc?

scio me nihil scire!
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Help with C++

To se naravno moze rijesiti i bez for-petlji :)

 

Brojeva djeljivih sa 3 do 1000 ima [1000/3] ([x] = najvece cijelo od x) = 333. Njihova suma jednaka je 3 + 6 + ... + 996 + 999 = 3 * ( 1 + 2 + ... + 332 + 333 ) = 3 * 333 * 334 / 2.

Slicno se mogu dobiti i brojevi do 1000 djeljivi sa 5. Njihova suma jednaka je 5 * 200 * 201 / 2.

 

Ako se traze brojevi djeljivi ili sa 3 ili sa 5, onda je potrebno oduzeti brojeve djeljive sa 15. (15 * 66 * 67 / 2).

Ako se pak traze brojevi djeljivi i sa 3 i sa 5, onda su rjesenje samo brojevi djeljivi sa 15.

 

Gore navedeno se, naravno, moze poopciti za bilo koja dva broja i bilo koje granice (gornju i donju), koristeci malo matematike.

Sa štovanjem, brahle!
16 godina
neaktivan
offline
RE: Help with C++

Razumio sam ja to, u svom kodu sam pogrješio što sam radio odvojeno pa mi je dvaput zbrajalo broj djeljiv sa 15, zaboravio sam oduzeti -.-...

 

Hvala yet again =))

scio me nihil scire!
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice