[문제]
https://programmers.co.kr/learn/courses/30/lessons/77884
[풀이]
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int solution(int left, int right) {
int answer = 0;
int count;
for(int i=left; i <= right; i++){
count=0;
for(int j=1; j<=i; j++){
if(i % j == 0){ count++; }
}
if(count % 2 == 0){answer += i;}
else answer -= i;
}
return answer;
}
int main(){
int left=0;
int right=0;
scanf("%d %d", &left, &right);
solution(left, right);
}
- 풀 때 count를 for문 안에서 초기화 해야 한다. 이 사실을 몰라서 고생했다.
- 소수를 구할 때는 i % j == 0 이라는 식을 사용한다.
'Algorithm' 카테고리의 다른 글
[BAEKJOON] 10798번: 세로읽기 (0) | 2022.08.01 |
---|---|
[Programmers] 부족한 금액 계산하기 (0) | 2022.03.14 |
[Programmers] 두 정수 사이의 합 (0) | 2022.03.12 |
[Programmers] K번째 수 (0) | 2022.01.17 |
[Programmers] 중복 제거하기 (0) | 2022.01.17 |