https://www.acmicpc.net/problem/15726
15726번: 이칙연산
첫째 줄에 세 개 정수 A, B, C(1 ≤ A, B, C ≤ 1,000,000)가 주어진다. 답은 int범위를 벗어나지 않는다.
www.acmicpc.net
풀이
#include <stdio.h>
int main() {
long long n1, n2, n3; // 연산할 수
long long result1, result2; // 결과
scanf("%lld %lld %lld", &n1, &n2, &n3);
result1 = (double)(n1 * n2) / n3; // n1xn2를 한 후 나눌때 double형으로
result2 = (double)(n1 / n2) * n3; // n1/n2 과정을 double형으로 하고 곱셈
if (result1 > result2) // result1이 클때
printf("%d\n", (int)result1);
else // result2가 클때
printf("%d\n", (int)result2);
return 0;
}
- 연산 변수들과 결과를 long long 으로 잡는 이유 :
세개 정수의 범위가 1000000까지 이기 때문에 연산시 int형을 넘을수 있음.
- result 변수들에 double형으로 감싸는 이유:
ex) 2 4 5 를 입력
((double)2/4)*5 = 2.5
(2/4)*5 = 0
'코딩 > 백준 문제 (브론즈)' 카테고리의 다른 글
[백준/4101/C언어] 크냐? _ 풀이 (0) | 2023.08.08 |
---|---|
[백준/1237/C언어] 정ㅋ벅ㅋ _ 풀이 (0) | 2023.08.08 |
[백준/14910/C언어] 오르막 _ 풀이 (0) | 2023.08.05 |
[백준/4344/C언어] 평균은 넘겠지 _ 풀이 (0) | 2023.08.04 |
[백준/10953/C언어] A + B - 6 _ 풀이 (0) | 2023.08.04 |