본문 바로가기

코딩 하루 1문제 프로젝트

백준 2558번 문제. 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

반응형

백준 2558번 문제

(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.

(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.

첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. 

 

문제풀이(java)

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 / 10) % 10 * a; 	
		int e = (b / 100) % 10 * a;
		int f = b*a;
		
		System.out.println(c);
		System.out.println(d);
		System.out.println(e);
		System.out.println(f);	
	}
}

중학교 떄? 초등학교 때 배운 곱셈공식을 다시 써봤다. (3), (4), (5)번이 어떤 로직으로 나오는 수인지 이해해보자. 472 x 5를 먼저 하고 472 x 8, 472 x 3을 하는 것이 순서다. 

 

이것을 나머지로 표현하면 385라는 숫자를 10으로 나눈 나머지가 5가 된다. 385를 10으로 나눈 수를 다시 10으로 나눴을 때 나머지가 8이 된다. 385를 100으로 나눈 수를 다시 10으로 나눴을 때 나머지가 3이 된다. 

 

 

반응형