Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |
Tags
- CSS
- WarGame
- 숙명여자대학교 정보보안동아리
- 풀이
- The Loard of BOF
- hackerrank
- Python
- C언어
- 파이썬
- SWEA
- lob
- BOJ Python
- 숙명여자대학교 정보보안 동아리
- siss
- Sookmyung Information Security Study
- XSS Game
- 기계학습
- HTML
- c++
- 백준
- 자료구조 복습
- 머신러닝
- 드림핵
- hackctf
- 웹페이지 만들기
- c
- BOJ
- PHP 웹페이지 만들기
- 생활코딩
- Javascript
Archives
- Today
- Total
혜랑's STORY
[HackerRank] Sherlock and Divisiors 본문
2주차 C언어
1. 문제

2. 풀이
int divisors(int n) {
int cnt = 0;
for(int i=1; i<=sqrt(n); i++){
if(n%i == 0){
if(i%2 == 0) ++cnt;
if((n/i)%2 == 0 && (n/i) != i) ++cnt;
}
}
return cnt;
}
- 자기 자신을 제외하고 절반을 초과하는 숫자에서 2로 나누었을 때 나머지가 0이 되는 숫자는 나올 수 없다. 따라서 n의 제곱근만큼 for문을 실행한다.
- n이 i로 나누어 떨어질 때, i가 2로 나누어 떨어진다면 구해야 하는 숫자이므로 cnt를 1 증가시킨다.
- 만약 n을 i로 나눈 값이 2로 나누어 떨어지고, n을 i로 나눈 값이 i가 아니라면 이 역시 cnt를 1 증가시킨다.
- cnt를 반환하고 함수를 종료한다.
3. 결과

'2021 SISS 21기 활동 > 여름방학 C언어' 카테고리의 다른 글
[HackerRank] Pangrams (0) | 2021.07.24 |
---|---|
[HackerRank] Caesar Cipher (0) | 2021.07.24 |
[HackerRank] Birthday Cake Candles (0) | 2021.07.18 |
[HackerRank] Bill Division (0) | 2021.07.11 |
[HackerRank] Handshake (0) | 2021.07.11 |