Project Euler

Project Euler #12 : 500개 이상의 약수를 갖는 가장 작은 삼각수는?

jyheo98 2020. 8. 7. 11:31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main() {
    int sum = 0;
    for (int i=1 ; ; i++) {
        sum += i;
        int temp = sum;
        int yaksuCnt = 1;
        for (int j = 2; j <= temp; j++) {
            int primeCnt = 0;
            while (1) {
                if (temp % j == 0) {
                    temp /= j;
                    primeCnt++;
                }
                else break;
            }
            yaksuCnt *= primeCnt + 1;
        }
        if (yaksuCnt >= 500) {
            cout << sum;
            return 0;
        }
    }
}
cs