사칙연산 98

[백준 2577] 숫자의 개수 [C]

풀이 A*B*C를 10으로 나누었을 때 나머지는 1의 자리만 남는다. 남는 수에 해당하는 배열의 index를 증가시키면 0~9의 숫자가 각각 몇 번 쓰였는지 알 수 있다. 1의 자리의 수를 알아낸 후 result를 10으로 나눈 결과에 10으로 나누었을 때의 나머지를 구하는 과정을 반복하면 된다. 소스코드 #include int main() { int A, B, C; scanf("%d %d %d", &A, &B, &C); int result = A*B*C, num[10] = { 0, };; while (result != 0){ num[result % 10]++; result /= 10; } for (int i = 0; i < 10; i++) printf("%d\n", num[i]); } 출처 2577번:..

[백준 2475] 검증수 [C]

소스코드 #include int main() { int num[5], result = 0; for (int i = 0; i < 5; i++) scanf("%d", &num[i]); for (int i = 0; i < 5; i++) result += num[i]*num[i] printf("%d", result % 10); } 출처 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net

[백준 1546] 평균 [C]

소스코드 #include int main() { int N; float num, temp = 0; double avg = 0; scanf("%d", &N); for (int i = 0; i temp) temp = num; avg += num; } printf("%lf", (avg / temp) / N * 100); } 출처 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net

[백준 1008] A/B [C]

풀이 절대오차 또는 상대오차가 10의 -9승이하만 정답이므로 소수점 9번째 자리까지만 출력해도 정답으로 인정된다. double형을 사용해서 큰 숫자를 계산할 수 있도록 하자 소스코드 #include int main() { double A, B; scanf("%lf %lf", &A, &B); printf("%.9lf", A/B); } 출처 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net

[백준 10250] ACM 호텔 [C]

풀이 반복문을 두 개 사용할 때, W를 이용해서 방 번호를 알아낼 수 있지만. N의 범위는 H * W이하이고, N을 H로 나눌때의 몫과 나머지를 이용하므로 간단하게 해결할 수 있다. "%d0%d" 형식으로는 오답 처리 된다. 전부 숫자로 출력해주자. N%H == 0일 때는 층 수랑 방 수에 대한 계산을 다르게 구해야 한다. 소스코드 #include int main(){ int T, H, W, N; scanf("%d", &T); while (T--){ scanf("%d %d %d", &H, &W, &N); if (!(N%H)) printf("%d%02d\n", H, N/H); else printf("%d%02d\n", N%H, N/H+1); } } 출처 10250번: ACM 호텔 프로그램은 표준 입력에서 ..