-
[백준알고리즘-2588] 곱셈 - JAVA백준 알고리즘 문제풀이/단계별로 풀어보기 2022. 5. 18. 15:03728x90
문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
출력
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
예제 입력 1
472 385
예제 출력 1
2360 3776 1416 181720
답안
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int sc1 = sc.nextInt(); // 111을 받았다 가정 int sc2 = sc.nextInt(); // 123을 받았다 가정 int a = sc2%10; // 123 % 10 = 3 int b = (sc2%100) - a; // (123 % 100) - 3 // 23 - 3 = 20 int c = (sc2%1000) - (a+b);// (123 % 1000) - (3+20) // 123 - 23 = 100 System.out.println(sc1*a); // 111*3 System.out.println((sc1*b)/10); // (111*20)/10 System.out.println((sc1*c)/100); // (111*100)/100 System.out.println(sc1*sc2); // 111*123 } }
sc1 = 472 sc2 = 385 를 받았다고 가정하자
int a = 385 % 10 이므로 몫은 38 나머지는 5가되므로 a=5가 되는것이다
int b = (385 %100) - 5 이므로 몫은 3 나머지는 85이고 85-5 = 80 이므로 b=80이다
int c = (385 %1000) - (5+80) 이므로 385 - 85 = 300 이다
472 * 5 = 2360
(472 * 80)/10 = 3376
(472 * 300)/100 = 1416
472 * 385 = 181720
728x90'백준 알고리즘 문제풀이 > 단계별로 풀어보기' 카테고리의 다른 글
[백준알고리즘-9498] 시험 성적- JAVA (0) 2022.05.18 [백준알고리즘-1330] 두 수 비교하기- JAVA (0) 2022.05.18 [백준알고리즘-10430] 나머지- JAVA (0) 2022.05.18 [백준알고리즘-18108] 1998년생인 내가 태국에서는 2541년생?!- JAVA (0) 2022.05.18 [백준알고리즘-10926] ??!- JAVA (0) 2022.05.18