약수의 합

문제 설명

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

 

제한 조건

n은 0 이상 3000이하인 정수입니다.

 

입출력 예

n return
12 28
5 6

 

풀이 : n의 약수를 먼저 찾아야 하기 때문에 반복문을 돌려서 나머지가 0인 수를 찾고 그 수를 답에 더해주면 된다. 

더보기

public class Solution {
    public int solution(int n) {
        int answer = 0;

        for (int i = 1;i <= n; i++)
        {
            if(n % i == 0)
            {
                answer += i;
            }
        }
        return answer;
    }
}

나머지 1되는 수 찾기

문제 설명

자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다.

 

제한 조건

3 ≤ n ≤ 1,000,000

.

입출력 예

n result
10 3
12 11

 

풀이 :  0과 1은 확인 할 필요가 없음으로 x를 2로 만들고 반복문에 넣어주고

그 수를 n과 나눈뒤 정답에 더해주고 break를 사용해서 반복문을 탈출하면 된다.

더보기

using System;

public class Solution {
    public int solution(int n) {
        int answer = 0;
        for (int x = 2; x < n; x++)
        {
            if (n % x == 1)
            {
                answer += x;
                break;
            }
        }
        return answer;
    }
}

 

오늘 하루도 끝~

반응형