Write a program which calculates the sum of natural numbers which are divisible by 3 and 5 less than the number given as input.

for ex.

1) If user input 10 then output will be 23.

2) If user input 20 then output will be 78.

so i figure 10 = 3,6,9,5

20 = 3,6,9,12,15,18,5,10 (no duplicate 15)

I failed. 0/3Response:Your logic is incorrect !

I fail to see the problem in my logic. Can you?

p.s. not sure why string included. I didn't need it.Code:`#include <iostream>`

#include <string>

using namespace std;

int main(int argc, char* argv[])

{

int max = 0, sum = 0;

cout << "Enter the maximum No.:";

cin >> max;

/*

Your Logic goes here

*/

//three

int three = max/3;

// remove itself i.e 10 and 20 from the equation

if (max%3 == 0)

three--;

for (int x=three;x>0;x--)

{

sum = sum + (3 * x);

}

//five

int five = max/5;

if (max%5 == 0)

five--;

for (int x=five;x>0;x--)

{

// only add to sum if not a duplicate (already present from three)

// couldn't get the not equals to work so went with true

if ((5*x)%3 == 0)

{

}

else { sum = sum + (5 * x); }

}

cout<<"Total is:";

cout << sum;

return 0;

}