1. 문제
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.
(1)과 (2)를 입력받고, 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
2. 코드
import java.util.Scanner;
public class Main{
public static void main (String[] args){
Scanner sc=new Scanner(System.in);
int A,B;
A=sc.nextInt();
B=sc.nextInt();
System.out.println(A*(B%100%10));
System.out.println(A*(B%100/10));
System.out.println(A*(B/100));
System.out.println(A*B);
sc.close();
}
}
3. 풀이
A,B를 int형 변수로 정의하고 세 자리 숫자를 입력받는다.
(3)의 경우, A와 B의 일의자리수를 곱한 값이고
(4)의 경우, A와 B의 십의 자리수를 곱한 값이고
(5)의 경우, A와 B의 백의 자리수를 곱한 값이다.
[JAVA] 숫자 자릿수 구하는 방법
String을 쓰지 않고 숫자의 자릿수를 구하는 방법은 %와 /를 적절히 사용하면 된다.
%는 나머지를 구하는 연산자 이고, /는 몫을 구하는 연산자 이다.
ex. 926 이라는 숫자
백의 자리 숫자를 구하려면(9를 구하려면)
926/100을 하면 몫이 구해지므로 9가 된다.
십의 자리 숫자를 구하려면 (2를 구하려면)
백의 자리 숫자를 구할 때 처럼 926/10을 하면 안된다.
26/10을 해야하는데, 26이라는 숫자를 구하려면 926%100을 하면 된다.
따라서 십의 자리 숫자를 구하려면 926%100/10을 하면 된다.
일의 자리 숫자를 구하려면 (6을 구하려면)
926%100%10을 하게되면 6만 남게 된다.
4. 링크
https://www.acmicpc.net/problem/2588
'Computer Science > 자료구조와 알고리즘' 카테고리의 다른 글
[JAVA] 백준 9498번 시험성적 (0) | 2020.07.01 |
---|---|
[JAVA] 백준 1330번 두 수 비교하기 (0) | 2020.07.01 |
알고리즘의 시간 복잡도 분석 (0) | 2020.06.30 |
알고리즘 평가 기준 (0) | 2020.06.30 |
간결한 코드 작성하는 방법 (0) | 2020.06.30 |