This is a companion discussion topic for the original entry at https://toph.co/p/geometry-forever

This is a companion discussion topic for the original entry at https://toph.co/p/geometry-forever

#include <stdio.h>

int main() {

int A,B,sum;

scanf("%d %d",&A,&B);

sum=A+B;

printf("%d\n",sum-1);

```
return 0;
```

}

what’s wrong with this code?

#always correct in 1st case but wrong after 2nd case!

The sum of the lengths of any two sides of a triangle must be greater than the length of the third side. Not of the first two.

If the give lengths of two side are a and b and the third side is c then a + b > c , a + c > b and b + c > a. Your code will work for the first one but not for the others.

#include<stdio.h>

int main()

{

int A, B, count=0, C;

scanf("%d %d", &A, &B);

if(A>=1 && B<=100)

{

for(C=A-B; C<A+B; C++)

{

if(C>A-B && C<A+B)

{

count++;

}

}

printf("%d\n", count);

}

return 0;

}

now what’s the problem in this code?

I think this is a fault in the problem. As far as it says, there should be the values sides A and B given and we find the possible number of integer values of side C. But from your argument, it seems like the values of A and B are given and answers are checked by the values of B and C or whatsoever. Correct me if I’m wrong.

Actually I don’t understand what are you saying but it seems you didn’t understand what I meant. Suppose that, A = 5, B = 3. Accordingly to backbenchermmc’s code The answer should be 5+3-1 = 7 and the set of the answers should be {1, 2, 3, 4, 5, 6, 7}.

A+B=5+3=8 and it is greater than any of the value of the set

Now, this answer satisfies A+B>C

But there are two more conditions. A+C>B and B+C>A

Now, for the first value B+C = 3+1 = 4

Which isn’t greater then 5

So the actual set of answer is {3, 4, 5, 6, 7}

And the actual answer is 5

#include <bits/stdc++.h>

#define ll long long

#define ff first

#define ss second

using namespace std;

ll def(ll a, ll b) {

if(a>b) return a-b;

return b-a;

}

int main() {

ll a , b;

cin >> a >> b;

cout << (a+b) - (def(a,b)+1);

}

//Maybe it is the shortest method

**The shortest solution that I provide is here:::**

```
> #include <bits/stdc++.h>
> using namespace std;
>
> int main()
> {
> int a, b;
> cin >> a >> b;
> int minimum = min(a, b);
> cout << (2 * minimum - 1) << endl;
> }
```

Thank you all!

another possible answer is here:

#include

using namespace std;

int main()

{

int i,j,a,b;

cin>>a>>b;

i=min(a,b);

j=max(a,b);

cout<<(a+b)-((j-i)+1)<<endl;

return 0;

}