728x90
반응형
문제 출처 : https://www.acmicpc.net/problem/1065
풀이
간단한 브루트포스 문제이다.
100 미만의 수는 모두 한수이므로 그대로 출력하고, 세 자리 수는 각 자리 수를 구해준다.
ex) 216 : c= 2, b = 1, a = 6
등차수열은 연속된 두 개의 수의 차이가 일정한 수열 이므로 c - b = b - a 일 경우 한수이다.
코드
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
ios::sync_with_stdio(false); cin.tie(NULL);
int N; cin >> N;
if(N < 100) cout << N;
else if(N == 1000) cout << 144;
else{
int cnt = 99;
int a, b, c = 0;
for(int i = 100; i <= N; i++){
a = i % 10;
b = (i / 10) % 10;
c = (i / 100) % 10;
if(c - b == b - a) cnt++;
}
cout << cnt;
}
return 0;
}
728x90
반응형
'Tech > Algorithm' 카테고리의 다른 글
[BOJ] 백준 1759 암호 만들기 c++ (dfs, 백트래킹, 브루스포스) (0) | 2022.01.16 |
---|---|
[BOJ] 백준 6603 로또 c++ (dfs, next_permutation) (0) | 2022.01.13 |
[프로그래머스] 소수 찾기 c++ (완전탐색, 에라토스테네스의 체) (0) | 2022.01.09 |
[BOJ] 백준 11052 카드 구매하기 c++ (DP) (0) | 2022.01.04 |
[BOJ] 백준 15486 퇴사 2 c++ (DP) (0) | 2022.01.02 |