반응형

 

 

www.acmicpc.net/problem/11653

 

11653번: 소인수분해

첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다.

www.acmicpc.net

 

파이썬 코드

n = int(input())

idx = 2
while n != 1:
    if n % idx == 0:
        print(idx)
        n = n / idx
    else:
        idx += 1

 

C++ 코드

#include <stdio.h>

int main(void){
int n;
    scanf("%d", &n);

int idx = 2;
while(n != 1){
    if(n % idx == 0){
        printf("%d\n", idx);
        n /= idx;
    } else {
        idx += 1;
    }
}
}

 

 

결과

 

 

 

같은 로직으로 파이썬으로도 풀어보고, C++로도 풀어 보았는데 C++로 했을 때 시간이랑 메모리가 후어어ㅓ어어ㅓ얼씬 적게 드네요

왜 그럴까요?

 

 

 

 

반응형

+ Recent posts