N 번째 소수를 인쇄해야합니다. 예 :
첫 번째 소수는 2
두 번째 소수는 3
입니다.
.
1) 2, 3 스택에 추가 :
10 일 소수는 다음과 같이
Nth 소수 인쇄 코드
내 알고리즘입니다 .... (29) 등이다.
2) 만약 N < 스택 = 크기) 4
주요 각 요소에서, 소수에 대한 격차를 확인하려면 있는지 확인, 위치 N 출력 응답
3) 그 밖에, 스택의 마지막 요소에서 시작에서 항목을 가져 오기 스택. 스택에있는 모든 요소에 대해 나머지 0 인 경우 소수가 아닙니다.
#include <iostream>
using namespace std;
int main() {
int number, count = 0;
cin >> number; //position of prime number
int a[number];
a[0] = 2;
a[1] = 3;
int top = 1;
if (number <= 2) {
cout << a[number - 1] << endl;
} else {
for (int i = 5; i <= 10001; i += 2) {
for (int j = 0; j <= top; j++) {
if (i % a[j] != 0) {
count++;
}
if (count == (top + 1)) {
a[++top] = i;
if ((count + 1) == number) {
cout << a[top];
break;
}
}
}
}
}
return 0;
}
갑자기 어떤 output.What을 포기하지 않고 작동을 멈 춥니이 코드는 다음과 같습니다 브레이크 루프
5) 국무하면,
6) 검색 홀수 번호
내 코드가 스택에 추가 내 코드에 결함이 있습니까?
왜 항상 2 씩 증가하고 숫자가 홀수가되도록 보장하면 배열의 첫 번째 숫자로 나눕니까? 그 수표는 불필요합니다. –
@ LuisColorado 왜냐하면 aprime number는 항상 홀수가 될 것이기 때문입니다 ... 기본적으로 시간 복잡성을 줄이기 위해서 – user6889367
@LuisColorado 그러나이 코드는 더 큰 숫자에 대해서는 여전히 시간이 걸립니다. 도와 주실 수 있습니까? – user6889367