소수구하는 건데 배열로 소스를 짜야됩니다 도움부탁해요~
이름없음
1~100 사이의 소수를 구하는 프로그램을 작성하라.소수를 구하여 배열에 저장하고, 다음 소수는 배열에 저장된 이전에 구한 소수들로 나누어 나머지가 0이 아니면, 새로운 소수로 배열에 저장되도록 한다.
예: 소수를 구할 수가 11 경우 배열을 사용하지 않고 일반적인 알로리즘 : 2, 3, 4, 5, 6, 7, 8, 9, 10으로 나누지만소수 배열을 사용용하는 경우 : 소수배열에 저장된 {2, 3, 5, 7}만으로 나눈다.
소수를 배열로 말고는 충분히 짜겠는데 배열을 이용해서 하라고 하는데 2시간 동안 해도 갈피가 안잡히네요... 위에 이해도 잘안되고 고수분들 도움 부탁합니다
-
움찬
광주c분이 가르쳐 주신거 보고 제가 좀 바꿨는데 함 봐주시겠습니까??
#include stdio.h
int main(void)
{
int prime[100] = {2,};
int np = 1;
int i = 3, j;
printf(\%3d \ -
이송이
일단 소수가 저장될 적당한 크기의 배열을 선언하시고, 배열의 첫번째 요소만 2로 초기화 시킵니다. 소수는 2부터 시작하니까요. 반복문은 3부터 시작합니다. 증가는 1씩 해도 되지만, 2를 제외한 짝수는 소수가 아니므로 2씩 증가를 하셔도 되겠네요.
3은 2로 나누어 떨어지지 않으므로 소수이므로 배열의 2번째에 저장합니다.
5는 2와 3으로 나누어 떨어지지 않으므로 소수이므로 배열의 3번째에 저장합니다.
7도 마찬가지이고요. 9는 3으로 나누어 떨어지므