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 | 31 |
Tags
- 웹페이지 만들기
- WarGame
- hackctf
- C언어
- CSS
- XSS Game
- BOJ
- 드림핵
- c++
- HTML
- BOJ Python
- c
- SWEA
- 숙명여자대학교 정보보안동아리
- Python
- 머신러닝
- Javascript
- 풀이
- 백준
- 기계학습
- lob
- 자료구조 복습
- 파이썬
- The Loard of BOF
- hackerrank
- 숙명여자대학교 정보보안 동아리
- siss
- 생활코딩
- Sookmyung Information Security Study
- PHP 웹페이지 만들기
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 |