본문 바로가기

자바

백준 알고리즘 - 2588번 곱셈 [자바]

문제


 

< 문제 풀이 1 >

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();

		System.out.println(a * (b % 380));
		System.out.println(a * (((b / 10) % 10)));
		System.out.println(a * (b / 100));
		System.out.println(a * b);

	}
}

 

처음에 문제를 풀었을 때 출력 값은 제대로 나오는데 오답이라 해서 학교 형이랑 동생이랑 머리를 모아서 해결했다.

 

 

< 문제 풀이 2 >

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();

		System.out.println(a * (b % 10));
		System.out.println(a * (((b / 10) % 10)));
		System.out.println(a * (b / 100));
		System.out.println(a * b);

	}
}

첫 번째 출력 값을 (a*(b%380))에서 (a*(b%10))으로 바꿔주었는데

교수님이 말씀하시기로는 380을 나누고 나머지를 찾기에는 385에 한정되어있는 계산식이지만

10을 나누면 입력 받는 어떠한 수의 첫번째 자리 수를 구할 수 있을 것이라고 말씀해주셨다.

맞는 거 같다. 재밌당.