자리수가 등차수열을 이루는지 보면 될거 같습니다
1~9: 길이가 1인 등차수열
10~99: 길이가 2이고 공차는 양수 또는 음수인 등차수열
그래서 총 99개가 나오겠네요
1065번 - 한수
어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
어떤 정수 x자리수가 등차수열을 이룬다고 했는데 이런 조건을 만족하는 수가 어떤게 있을까요?
음 예를 들어 247이 있겠네요 첫항이 2 이고 공차가 3인 등차수열이니까요.
또 123 같은 수가 있겠죠. 이녀석은 첫항이 1, 두번째항이 2,세번째항이자 마지막 항이 3인 공차가 1인 등차수열이겠지요
즉 수하나하나를 하나의 수열로 보고 이게 등차수열인지 아닌지를 보면 되는겁니다
1357을 숫자1357이 아니라 수열 1 3 5 7로 보고 이게 등차수열인지 아닌지를 본다는 의미입니다.
질문자님의 글로 돌아가서
110보다 작은 한수가 왜 99개냐고 하셨는데
1부터 9까지는 그냥 수열의 길이가 1인 녀석들이라서 전부 등차수열이라고 보면 되고
10~99까지는
숫자 10, 숫자 11 이렇게 보지말고
각각의 숫자를 떼어서 보고 판별하시면 됩니다. 예를 들어 10이라고 한다면 길이가 2인 수열 1 0 으로 보고, 첫항이 1, 둘째항이자 마지막항이 0, 공차가 -1인 등차수열이다..이런식으로요
따라서 10부터 99까지는 등차수열이 된다는것을 확인하실 수 있을겁니다
그래서 1부터 110까지의 등차수열은 99개가 되겠네요
어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
만약에 N이 130이 주어졌다면 1부터130까지의 수 <<하나하나>> 를 떼서 그 수를 구성하는 수가 등차수열을 만족하는지 보면 된다는 말입니다
N이 130 이니까 1부터 130까지 조사하면서
1: 1하나 뿐이니까 등차수열
2: 같은경우
3: 같은경우
....
10: 길이가 2고 각항이 1 0 인 수열. 공차가 -1인 등차수열임. 체크
11. 길이가 2이고 각항이 1 1 인 수열. 공차가 -1인 등차수열임.체크
...
100: 길이가 3이고 각항이 1 0 0 인 수열. 등차수열이 아님
101:길이가 3이고 각항이 1 0 1 인 수열. 등차수열 아님
...
123: 길이가 3이고 각항이 1 2 3 인 수열.공차가 1인 등차수열임. 체크
이런식으로요.
바로 위의 글을 이렇게 정정하겠습니다
어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
만약에 N이 130이 주어졌다면 1부터130까지의 수 각각에 대해 그 수를 구성하는 수가 등차수열을 만족하는지 보면 된다는 말입니다
N이 130 이니까 1부터 130까지 조사하면서
1: 1하나 뿐이니까 등차수열
2: 같은경우
3: 같은경우
....
10: 길이가 2고 각항이 1 0 인 수열. 공차가 -1인 등차수열임. 체크
11. 길이가 2이고 각항이 1 1 인 수열. 공차가 0 인 등차수열임.체크
...
100: 길이가 3이고 각항이 1 0 0 인 수열. 등차수열이 아님
101:길이가 3이고 각항이 1 0 1 인 수열. 등차수열 아님
...
123: 길이가 3이고 각항이 1 2 3 인 수열.공차가 1인 등차수열임. 체크
이런식으로요.
정말 문제를 이해하는데 큰 도움이 되었습니다. 감사합니다.
감사합니다.
감사합니다! 쉽게 이해되었어요!
저만 이해못하고 검색한게 아니였군요 ㅠㅠ 감사합니다
문제가 이해 안되서 시작도 못하고있었는데 감사합니다!!
감사합니다 이해하는데 도움이 많이 되네요
글 읽으며 문제를 이해할 수 있었습니다
정말 감사드려요!!
설명 감사합니다. ^^
감사합니다...
감사합니다....
감사합니다!
감사합니다!!
3년 전부터 지금까지 많은 도움이 되고 계시군요!!
감사합니다!!
감사합니다!
감사합니다!
덕분에 문제 이해 쉽게 하고 갑니다!
감사합니다.
정말로 감사합니다. 이해가 쉽게 되네요.
감사 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 합니닼ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
kimsy96 선생님... 고맙습니다
감사합니다!!!!!!!!
감사... 압도적 감사...
이해하는데 큰 도움이 되었어요! 감사합니다!!
댓글을 작성하려면 로그인해야 합니다.
tmvld9 5년 전 13
안녕하세요. 문제가 이해가 안됩니다..
110보다 작은 수에서 한수가 99개가 나오나요 ?
1 2 3
1 3 5
1 4 7
1 5 9
1 6 11
이런식으로 다 써봤는데 99개는 도저히 안나오고, 제가 잘못이해한 것 같습니다.