출처 : https://www.acmicpc.net/problem/2588
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세자리 자연수가 주어진다.
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
472
385
2360
3776
1416
181720
방법 1.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
sc.close();
System.out.println(A * (B%10)); //B의 1의자리 수
System.out.println((A * (B%100 - B%10))/10); //B의 2의자리 수
System.out.println((A * (B - (B%100)))/100); //B의 3의자리 수
System.out.println(A*B);
}
}
방법 2.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
String B = sc.next();
sc.close();
System.out.println(A * (B.charAt(2) - '0'));
System.out.println(A * (B.charAt(1)-'0'));
System.out.println(A * (B.charAt(0)-'0'));
System.out.println(A*Integer.parseInt(B));
}
}