링크
https://www.acmicpc.net/problem/14215
영선이는 길이가 a, b, c인 세 막대를 가지고 있고, 각 막대의 길이를 마음대로 줄일 수 있다.
영선이는 세 막대를 이용해서 아래 조건을 만족하는 삼각형을 만들려고 한다.
a, b, c가 주어졌을 때, 만들 수 있는 가장 큰 둘레를 구하는 프로그램을 작성하시오.
첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다.
첫째 줄에 만들 수 있는 가장 큰 삼각형의 둘레를 출력한다.
1 2 3
5
2 2 2
6
1 100 1
3
41 64 16
113
void arr_sort(int arr[], int n) //내림차순 정렬
{
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
if (arr[i] > arr[j]) {
arr[i] ^= arr[j];
arr[j] ^= arr[i];
arr[i] ^= arr[j];
}
}
}
}
scanf("%d %d %d", &a[0], &a[1], &a[2]);
arr_sort(a, length);
sum = a[1] + a[2];
while (1) {
if (a[0] < sum) {
sum += a[0];
break;
}
else a[0] -= 1;
}
#include <stdio.h>
#define length 3
int main()
{
int a[length];
int sum = 0;
scanf("%d %d %d", &a[0], &a[1], &a[2]);
arr_sort(a, length);
sum = a[1] + a[2];
while (1) {
if (a[0] < sum) {
sum += a[0];
break;
}
else a[0] -= 1;
}
printf("%d", sum);
return 0;
}
void arr_sort(int arr[], int n) //내림차순 정렬
{
for (int i = 0; i < n; i++) {
for (int j = 0; j < i; j++) {
if (arr[i] > arr[j]) {
arr[i] ^= arr[j];
arr[j] ^= arr[i];
arr[i] ^= arr[j];
}
}
}
}