IT_Programming/C · C++

입력받은 수가 소수인지 아닌지를 알아보자

JJun ™ 2007. 1. 23. 18:01
 

/*

    입력 받은 수가 소수인지 아닌지를 구하라.

*/

 

#include <stdio.h>

 

#define TRUE 1

 

int is_sosu(int a)
{
   int i;

  

   for(i=2;i<a;i++)
   {
       if(a%i==0)
            return !TRUE;
   }
   return TRUE;
}

 

void main(void)
{
   int j;

   puts("\n 입력된 숫자가 소수인지 아닌지를 구해보자! \n ('0'을 입력하면 종료됩니다.)");

 

   while(TRUE)
   {
       puts("\n\n ↓숫자를 입력하세요");
       scanf("%d",&j);

  

       if(j==1)
       {
           printf("1은 소수가 아닙니다.");
           continue;
       }

     

       if(j<0)
       {
           printf("\n 음수를 넣지 마세요.");
           continue;
       }
  

       if(j==0)
           break;

  

       printf("\n %d은(는) %s", j, is_sosu(j) ? "소수이다.":"소수가 아니다.");

       /*  is_sosu(j)의 결과가 TRUE이면, %s에는 "소수이다."에 대응.

            !TRUE이면 %s에는 "소수가 아니다."에 대응하여 출력된다.  if~else문 대용  */
   }
}

SOSU.CPP
0.0MB