https://www.acmicpc.net/problem/6679
풀이 :
s-진수의 각 자릿수를 구하려면 s로 계속 나눠주며 나머지를 구한다
=> 2진수 구하는 방법에서 아이디어 얻음
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <iostream> #include <math.h> using namespace std; // 각 자릿수별로 더한값 int sum(int num, int s) { int ret=0; while(num>=1) { int x = num%s; num = num/s; ret += x; } return ret; } int main() { for(int num=1000; num<=9999; num++) { int s10, s12, s16; s10 = sum(num, 10); s12 = sum(num, 12); s16 = sum(num, 16); if(s10==s12&&s10==s16) cout<<num<<endl; } return 0; } | cs |
'알고리즘 > 알고리즘 오답노트' 카테고리의 다른 글
백준 13458 시험감독 (0) | 2019.03.14 |
---|---|
1992 쿼드트리 (0) | 2019.03.13 |
2688 줄어들지 않아 (0) | 2019.03.13 |
[BFS+브루트포스] 16988 : Baaaaaaaaaduk2 (Easy) (0) | 2019.03.11 |
1535 안녕 (0) | 2019.03.05 |
댓글