알고리즘 [백준/Java]Q1065 - 반응형 백준 알고리즘 6단계 함수 1065번 문제입니다. Q. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. [입력]- 1000보다 작거나 같은 자연수 N이 주어진다.[조건]- 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다.- 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. 풀이 이 문제를 풀기 위해선 등차수열의 이해가 필요했다. 등차수열은 두 수의 차이가 일정한 수열을 말하는데 간단히 아래와 같은 수열로 이해할 수 있다. 12345 : +1씩 증가 13579 : +2씩 증가 이제 반복문을 통해 각 자릿수를 비교한다면 어렵지 않게 풀 수 있다. 소스 package com.baek.algo; import java.util.Scanner; public class Q1065 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int x = 1; int hansu = 0; while(true) { if(x < 100) { hansu = x; } else if(x >= 100 & x <= 1000) { int a = x / 100; int b = x / 10 % 10; int c = x % 10; if((a - b) == (b - c)) { hansu = hansu + 1; } } if(x == n || n > 1000) { break; } x = x + 1; } System.out.println(hansu); sc.close(); } } 반응형 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기3인칭시점 저작자표시 비영리 변경금지 Contents 연관 포스팅 [백준/Java]Q1316 2021. 7. 8. [백준/Java]Q1712 2021. 7. 8. [백준/Java]Q4344 2021. 7. 8. [백준/Java]Q1110 2021. 7. 6. 댓글 0 + 이전 댓글 더보기