728x90
728x90
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
예제 입력 1
472
385
예제 출력 1
2360
3776
1416
181720
출처
Olympiad > 한국정보올림피아드 > 한국정보올림피아드시․도지역본선 > 지역본선 2005 > 초등부 2번
알고리즘 분류
- 수학
- 사칙연산
문제 출처
https://www.acmicpc.net/problem/2588
문제 해결 방법
- (3)은 (1)과 (2)의 일의 자릿수를 곱한 결과값과 같다.
- (2)의 일의 자릿수 = (2) % 10
- (4)는 (1)과 (2)의 십의 자릿수를 곱한 결과값과 같다.
- (2)의 십의 자릿수 = [(2) % 100] / 10
- (5)는 (1)과 (2)의 백의 자릿수를 곱한 결과값과 같다.
- (2)의 백의 자릿수 = (2) / 100
- 최종적으로 (3), (4), (5)의 값과 (1) * (2)의 값을 출력하도록 하여 문제를 해결하였다.
코드
#include <iostream>
using namespace std;
int main() {
cin.tie(NULL);
cout.tie(NULL);
ios_base::sync_with_stdio(false);
int num1, num2;
cin >> num1 >> num2; // (1), (2)
cout << num1 * (num2 % 10) << endl; // (3)
cout << num1 * ((num2 % 100) / 10) << endl; // (4)
cout << num1 * (num2 / 100) << endl; // (5)
cout << num1 * num2 << endl; // (6)
return 0;
}
채점 결과
참고
- [단계별로 풀어보기] > [입출력과 사칙연산]
728x90
728x90
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ-2753][C++] 윤년 (0) | 2022.07.08 |
---|---|
[BOJ-9498][C++] 시험 성적 (0) | 2022.07.08 |
[BOJ-1330][C++] 두 수 비교하기 (0) | 2022.07.08 |
[BOJ-25083][C++] 새싹 (0) | 2022.07.07 |
[BOJ-10430][C++] 나머지 (0) | 2022.07.07 |
[BOJ-18108][C++] 1998년생인 내가 태국에서는 2541년생? (0) | 2022.07.07 |
[BOJ-10926][C++] ??! (0) | 2022.07.07 |
[BOJ-10869][C++] 사칙연산 (0) | 2022.07.07 |