GitHubSeob

C++ / 프로그래머스 / 약수의 합 본문

Programmers/Level 1

C++ / 프로그래머스 / 약수의 합

GitHubSeob 2021. 9. 13.

문제

https://programmers.co.kr/learn/courses/30/lessons/12928

 

코딩테스트 연습 - 약수의 합

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수

programmers.co.kr

문제풀이

1부터 n까지 돌면서 n을 나누고 나눈 나머지가 0이라면 약수이므로 answer에 더해준다.

 

코드

#include <string>
#include <vector>

using namespace std;

int solution(int n) {
    int idx=0;
    int answer = 0;
    
    for(idx=1;idx<=n;++idx)
        if(n%idx==0) answer+=idx;

    return answer;
}