씨언어 소수(prime number 찾기) 코드 질문


입력된 양의 정수(X)보다 작은 최대 소수(prime number)을 return하는 사용자 정의 함수 구하기...

3,7 등 같은 소수를 구하려고 합니다. X를 입력하면 사용자 정의 함수에서, for문을 이용해 X보다 작은 숫자들을 소수인지 아닌지 모두 체크해보려 합니다. 그런데, 제가 문법을 잘 몰라서 그런지... result라는 변수가 초기화 되지 않았다고 오류가 뜹니다. for문이 제대로 작동하지 않아서 그런거 같은데, 사용자 정의 함수에서 for문에 어떠한 오류가 있나요?

#include <stdio.h>

unsigned int prob1(unsigned int X);

int main()
{
    unsigned int X=10;
    unsigned int result;

    result = prob1(X);

    printf("%d\n", result);
}

unsigned int prob1(unsigned int X)
{
    unsigned int dump=0, result;
    unsigned int i=0, j;

    for(i=X-1;i>=3;i--)
    {
        for(j=i-1;j>=2;j--)
        {
            if((i%j)!=0)
            {
                continue;
            }
            else if((i%j)==0)
            {
                dump=i;
                break;
            }
        }

        if(dump==0)
        {
            result=i;
            break;
        }

    }


    return result;
  • 2016년 11월 12일에 수정됨
    리눅스(유닉스) 기반의 시스템에서 웹 서비스를 개발하고 있습니다.
  • 2016년 11월 12일에 작성됨

조회수 73


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close