문제 설명
두 정수 Left 와 Right 가 매개변수로 주어진다. Left부터 Right 까지의 모든수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
1<=left<=right<=1,000
EX 입출력
left | right | result |
13 | 17 | 43 |
24 | 27 | 52 |
Code Analysis
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// Header 선언
int solution(int left, int right) {
int count = 0; //약수의 갯수 세줄 count 초기화
int answer = 0; //결과값 초기화
for(left; left <=right; left++ ){
for(int i=1; i<=right; i++){ //left부터 right의 숫자 사이까지 만들어주고, 이중 for문으로 right의 숫자까지 나머지 계산을 통해 나머지가 0이면 count++를 통해 갯수 측정
if(left%i==0){
count++;
}
}
if(count%2==0){ //갯수가 짝수라면 +, 개수가 음수라면 -
answer=answer+left;
}
else{
answer=answer-left;
}
count=0;;
}
return answer;
}
'C 언어' 카테고리의 다른 글
C Language Configure File 문자열 행 상관없이 읽는 문제 해결 (0) | 2022.07.28 |
---|---|
C Language Configure File Path Move Problem Resolution (0) | 2022.07.25 |
C Language OAM Poepn, Config code 수정 (0) | 2022.07.20 |
C Language : 리눅스와 4G Board에서 CPU,MEM process를 OAM하여 출력하는 코드 및 관리 (0) | 2022.07.14 |
Tera Term <--> WinSCP <--> Linux Connect (0) | 2022.07.14 |