설명 ¶
- 조낸 간단함. 1500개짜리 배열� 꽉 찰때까지 1부터 시작해서
- 2, 3, 5ì�˜ 배수ë�¼ëŠ” ì �ì—� 착안해서 코딩.
소ê°� ¶
ì •ë§� 좋지 않ì�€ 코드. 900번째까지 구하는ë�° 2 ì´ˆê±¸ë¦¬ê³ ,
1000번째까지 구하는� 7초 걸린다...
1000번째까지 구하는� 7초 걸린다...
1500번째꺼 구하�� 했�니... 76초 걸린다...
#include <iostream>
#include <ctime>
using std::cout;
using std::cin;
using std::endl;
using std::clock_t;
#define LIMIT 1500 // 배열 한계수
int main() {
int arr[LIMIT] = {0}, num, index = 0, target;
clock_t start,end; // 수행시간 êµ¬í• ë•Œ ì“°ë ¤ê³ ë„£ì�€ 변수.
target = 1500; // 1500번째 수를 구하ë�„ë¡� í• ë•Œ 쓰는 변수.
start = clock(); // 시작한 시간.
for(int i = 1;arr[target-1] == 0;i++) {
num = i;
while((num % 2) == 0) {
num /= 2;
}
while((num % 3) == 0) {
num /= 3;
}
while((num % 5) == 0) {
num /= 5;
}
if(num == 1) { // 2, 3, 5 로 나눴는� 몫� 1�면 못난�수.
arr[index] = i; // 몫� 1� 아니면 그냥 잡수.
index++;
}
}
end = clock(); // �난 시간.
cout << "Run time = " << (double)(end-start)/CLK_TCK << endl
<< arr[target-1] << endl;
return 0;
}
ëŠ�ë‚€ ì � ¶
다른 ë°©ì‹�ì�˜ ì•Œê³ ë¦¬ì¦˜ìœ¼ë¡œ 그냥 막 ë°°ì—´ì—� ë•Œë ¤ë„£ì�€ ë’¤
sorting ì�„ 사용하는 방법ì�„ ìƒ�ê°�í•´ë´�야 í•˜ê² ë‹¤ ë�¼ëŠ” 것ì�„ ëŠ�낌.
sorting ì�„ 사용하는 방법ì�„ ìƒ�ê°�í•´ë´�야 í•˜ê² ë‹¤ ë�¼ëŠ” 것ì�„ ëŠ�낌.
사실 처ì�Œë¶€í„° ì •ë ¬ì�„ ì�¨ì•¼ê² ë‹¤ê³ ìƒ�ê°�했으나
�무지 방법� ��� 안남.
�무지 방법� ��� 안남.
2, 3, 5ì�˜ ê±°ë“ì œê³±ê¼´ì�´ë�¼ëŠ” 것ì—� 착안해서 지수ì—�서 ì–´ë–¤ 법칙ì�„ ì°¾ì•„ë‚´ë ¤ê³ í–ˆìœ¼ë‚˜
30개까지 구해�� 법칙� 못찾아서 그냥 위� 방법으로 구했�...
30개까지 구해�� 법칙� 못찾아서 그냥 위� 방법으로 구했�...
보창�형 코드보니 지수를 �서 하는 방법� 있는거 같��
ìž�세히 ë³´ì§„ 않았지만 그냥 막 ë•Œë ¤ë„£ì§€ 않았나... 하는 ìƒ�ê°�ì�´...
ê²°êµ í€µ 소트로 ì •ë ¬í•˜ì‹ ë“¯ 한ë�°...
ìž�세히 ë³´ì§„ 않았지만 그냥 막 ë•Œë ¤ë„£ì§€ 않았나... 하는 ìƒ�ê°�ì�´...
ê²°êµ í€µ 소트로 ì •ë ¬í•˜ì‹ ë“¯ 한ë�°...
ì•„... 괜히 ì–´ë µë‹¤.










