[백준 BOJ] 2588번 곱셈 (C언어)
2022. 1. 26. 13:03ㆍPS (Program Solving)/BOJ (백준)
문제 설명
https://www.acmicpc.net/problem/2588
접근 방법 - 자릿수 추출 연산이 필요한 수학 문제
백준 2588번 문제는 자릿수 추출을 필요로 하는 곱셈 연산 문제이다.
해당 문제는 세 자릿수를 가진 2개의 수의 곱셈이 이루어지는 과정을 순차적으로 출력하는 문제이다.
위 문제에 나와있는 예시에 따르면, 472*5, 472*8, 472*3을 각각 계산하고, 제일 끝에는 최종적인 곱셈 결과를 출력하면 된다.
필자는 아래의 순서대로 코드를 작성하였고 문제를 해결하였다.
코드의 실행 순서
1) 2개의 수(a, b)를 입력받는다.
2) n1, n2, n3, result를 각각 선언한 뒤, 아래와 같이 초기화한다.
- n1: a와 b의 일의 자릿수와 곱한 값
- n2: a와 b의 십의 자릿수와 곱한 값
- n3: a와 b의 백의 자릿수와 곱한 값
- result: 위의 n1, n2, n3를 통한 최종적인 곱셈의 결과값
3) 2)의 변수 4개를 차례로 출력한 뒤 실행 종료한다.
(필자는 코드의 가독성을 높이기 위해 각각 변수로 나누어 따로 계산을 취하였다.
필자처럼 굳이 변수를 따로 만들지 않고 바로 출력을 실행하는 것이 더 빠를 것이다.)
반응형
성공한 코드
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable: 4996)
#include <stdio.h>
//백준 2588번 코드
int main() {
int a, b;
scanf("%d %d", &a, &b);
int n1 = a * (b % 10);
int n2 = a * (b % 100 / 10);
int n3 = a * (b / 100);
int result = n1 + n2 * 10 + n3 * 100;
printf("%d\n%d\n%d\n%d\n", n1, n2, n3, result);
}
제출 결과
(2021.12.06 백준 2588번 문제 제출 결과)
반응형
'PS (Program Solving) > BOJ (백준)' 카테고리의 다른 글
[백준 BOJ] 2609번 최대공약수와 최소공배수 (C언어) (0) | 2022.01.26 |
---|---|
[백준 BOJ] 2606번 바이러스 (Java) (0) | 2022.01.26 |
[백준 BOJ] 2577번 숫자의 개수 (C언어) (0) | 2022.01.24 |
[백준 BOJ] 2562번 최댓값 (C언어) (0) | 2022.01.24 |
[백준 BOJ] 2558번 A+B - 2 (C언어) (0) | 2022.01.21 |