[백준] 2388번 곱셈
https://www.acmicpc.net/problem/2588
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하라
입력 :
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력 :
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
나의 답안
일단 (6)은 그냥 A*B 해주면 되고..
100의 자리 수는 100으로 나눠주면 몫이 그것이고,
1의 자리는 A를 10으로 나눈 나머지로 하면 되겠네? 생각했다.
그리고 10의 자리가 조금 고민이었다.
그러다 결국 10으로 나누면, 100의 자리와 10의 자리만 남을 것이고, 거기에 10을 나눈 나머지가
10의 자리 수가 되겠다는 생각을 하고 코드를 작성했다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
System.out.println(A*(B%10));
System.out.println(A*((B/10)%10));
System.out.println(A*(B/100));
System.out.println(A*B);
}
}
모범 답안
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = (b % 10) * a;
int d = ((b % 100) / 10) * a;
int e = (b / 100) * a;
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(a * b);
}
}
- 1의 자리 수와 100의 자리는 내 답안과 동일.
- 10의 자리는 100을 나눈 나머지에 10을 나눈 몫으로 추출