문제) 백준 - 에라토스테네스의 체 - 소수상근수
https://www.acmicpc.net/problem/9421
9421번: 소수상근수
양의 정수 n의 각 자리수의 제곱의 합을 계산한다. 그렇게 해서 나온 합도 각 자리수의 제곱의 합을 계산한다. 이렇게 반복해서 1이 나온다면, n을 상근수라고 한다. 700은 상근수이다. 72 + 02 + 02 =
www.acmicpc.net
1부터 N까지 차례로 소수와 상근수 판별을 하여 둘 다 만족할 경우 출력합니다. 소수 판별은 에라토스테네스의 체를 활용하여 해결했습니다. 상근수는 판별은 상근수 변환을 이용하여 변환할 때마다 set에 insert 합니다. 만약, set에 변환된 숫자가 존재할 경우 cycle이 돌아 상근수가 아니므로 false를 return 합니다.
C++ 소스코드)
Full Code)
GitHub - Chocochip101/BOJ_Solution: BOJ Solutions
BOJ Solutions. Contribute to Chocochip101/BOJ_Solution development by creating an account on GitHub.
github.com
반응형
'PS(Problem Solving) > 백준_BOJ' 카테고리의 다른 글
[백준] 21000번 - Archer Vlad (C++) 문제 및 풀이 (0) | 2022.02.10 |
---|---|
[백준] 18290번 - NM과 K (1) (C++) 문제 및 풀이 (0) | 2022.02.09 |
[백준] 14697번 - 방 배정하기 (C++) 문제 및 풀이 (0) | 2022.02.09 |
[백준] 2304번 - 창고 다각형 (C++) 문제 및 풀이 (0) | 2022.02.09 |
[백준] 22869번 - 징검다리 건너기 (small) (C++) 문제 및 풀이 (0) | 2022.02.08 |
댓글