이것저것
C언어 백준 1065 - 한수 본문
https://www.acmicpc.net/problem/1065
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net
문제
어떤 양의 정수 X의 각 자리가 등차수열을 이룰 때 그 수를 ‘한수’라 합니다.
ex) 1 : 등차수열o -> 한수o
22 : 2, 2 는 등차수열o -> 한수o
135 : 1, 3, 5 는 등차수열o -> 한수o
127 : 1, 2, 7 은 등차수열x -> 한수x
N이 주어졌을 때, 1보다 크거나 같고 N보다 작거나 같은 한수 개수를 출력하세요. (0<N<1000)
#include <stdio.h>
int HanNumber(int n);
int main() {
int n = 0, count = 0; // n: 입력 받은 수, count: 한수의 개수
scanf("%d",&n);
count = HanNumber(n);
printf("%d\n",count);
return 0;
}
int HanNumber(int n){
int c = 0; // 한수 개수
int num[3] = {0}, a= 0;
int i,j;
if(n>100){
for(i == 100 ; i <= n ; i++){
if(i=1000){
break;
}
a = i; // i값을 a에 저장
for(j=0;j<3;j++){ // a의 각 자리 숫자를 num배열에 저장
num[j] = a % 10;
a /= 10;
}
if(num[2]-num[1] == num[1] - num[0]){
c++; // 한수일 때마다 1씩 증가
}
}
return c += 99;
}
else{
return c = n;
}
}
'Language > C언어' 카테고리의 다른 글
C언어 백준 2908 - 상수 (0) | 2020.11.20 |
---|---|
C언어 백준 4673 - 셀프 넘버 (0) | 2020.11.20 |
C언어 백준 1120 변형 (0) | 2020.11.20 |
C언어 swea 1989 - 초심자의 회문 검사 (0) | 2020.11.20 |
C언어 swea 1945 - 간단한 소인수분해 (0) | 2020.11.20 |