문제 : https://codeup.kr/problem.php?id=1085
#include <stdio.h>
int main()
{
float a, b, c, d, e;
scanf_s("%f %f %f %f", &a, &b, &c, &d);
e = a * b * c * d / 8 / 1024 / 1024;
printf("%.1f MB", e);
return 0;
}
e = 소리 파일을 저장하기 위해 필요한 저장 공간
(a, b, c, d) 4가지 요소를 모두 곱셈 = (e) 저장 공간
입력받은 요소들의 값은 전부 다 bit 단위로 입력받은 것이기 때문에
문제에서 제시하는 MB 단위로 치환한 값을 출력
bit 단위로 이루어진 a*b*c*d 의 값을 MB로 치환하기 위해 e = a * b * c * d / 8 / 1024 / 1024
∴ 모든 값을 곱한 뒤 비트의 범위 단위만큼 나누어주면 MB로 치환 가능
1MB = 1024KB
1KB = 1024Byte
1Byte = 8bit
∴ 1MB = 1024x2014x8 bit
그 다음 문제인 1086 문제 또한 위와 매우 유사한 원리로 풀이가 가능하다.
'Language > CodeUp : C' 카테고리의 다른 글
[CodeUp] 1092 : [기초-종합] 함께 문제 푸는 날 (0) | 2021.06.01 |
---|---|
[CodeUp] 1087 : [기초-종합] 여기까지! 이제 그만~ (0) | 2021.05.31 |
[CodeUp] 1080 : [기초-종합] 언제까지 더해야 할까? (0) | 2021.05.24 |
[CodeUp] 1079 : [기초-종합] 원하는 문자가 입력될 때까지 반복 출력하기 (0) | 2021.05.24 |
[CodeUp] 1078 : [기초-종합] 짝수 합 구하기 (0) | 2021.05.24 |