[백준, BOJ 1065] 한수 (java)
Problem Solving/BOJ

[백준, BOJ 1065] 한수 (java)

728x90

출처-https://www.acmicpc.net/problem/1065

 

1065번: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 ��

www.acmicpc.net


728x90

 

내 생각 :

 1~99까지는 무조건 한수이다.
 100부터는 123, 135, 321과 같이 각 자릿수의 차가 동일한 수가 한수이다.

 

import java.util.*;

public class IO_1065 {
	
	static boolean han(int n) {
		int sub1=n/100-(n%100/10); // 셋째 자릿수와 둘째 자릿수의 차
		int sub2=(n%100/10)-n%10; // 둘째 자릿수와 첫째 자릿수의 차
		if (sub1==sub2)
			return true;
		else
			return false;
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan=new Scanner(System.in);
		int n=scan.nextInt();
		if (n<100) // 1~99까지는 무조건 한수
			System.out.println(n);
		else {
			int count=99;
			for (int i=100;i<=n;i++) {
				if (han(i)==true)
					count++;
			}
			System.out.println(count);
		}
	}

}
728x90