반응형
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++로 했을 때 시간이랑 메모리가 후어어ㅓ어어ㅓ얼씬 적게 드네요
왜 그럴까요?
반응형
'Programming > Coding Test' 카테고리의 다른 글
백준 10757 - 파이썬에서 다룰 수 있는 제일 큰 수는 몇일까? (0) | 2021.01.10 |
---|---|
백준 3009 - 파이썬에서 두 개 이상의 값 입력받는 방법 (0) | 2021.01.10 |
9. C++ String 문법 정리 (0) | 2021.01.05 |
8. 동적계획법 (0) | 2021.01.02 |
7. 순열과 조합 정리 (0) | 2021.01.01 |