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; }