본문 바로가기

C언어/C과제

C도전문제 1

1.   정수 N이 소수입니까? (소수: 1과 자기 자신만으로 나누어지는 1보다 큰 양의 정수) 

  출력)    정수 입력 : 97

                결과 : 소수

 

   출력  예시)    정수 입력: 91

                             결과 : 합성수[7]

#include <stdio.h>

int main()
{
  
    int i;
    int T,M;
    scanf("%d",&T);
  
  
  
  for(i=2;i<T;++i)
  {  
    
    M=T%i;
    if(M==0)
    {  
      printf("결과: 합성수[%d]\n",i);
        break;
    }    
    
      
          
      
      
  }
  if(i==T)
    printf("결과: 소수\n");
  return 0;
}


---------------------------------------------------------------


#include <stdio.h>


int main()
{
  int inum;//정수입력을 받는 변수
  int i;//변수의 소수 여부를 판단하고 합성수 소수를 출력하기 위한 변수
  printf("
정수 입력 : ");
  scanf("%d",&inum);
  if(inum==1)
  {
    printf("
결과 : 합성수도 소수도 아님 [%d]\n",inum);
  }
  else if(inum%2==1)
  {
    for(i=3;i<=inum/2;i+=2)
    {
      if(inum%i==0)
      {
        printf("
결과 : 합성수[%d]\n",i);
        break;
      }

    }
    if(i>inum/2)
    {
      printf("
결과 : 소수\n");
    }

  }
  else 
  {
    for(i=2;i<=inum/2;++i)
    {
      if(inum%i==0)
      {
        printf("
결과 : 합성수[%d]\n",i);
        break;
      }
    }
    if(i>inum/2)
    {
      printf("
결과 : 소수\n");
    }

  }
  return 0;
}


----------------------------------------------------------------------

#include <stdio.h>

int main()
{
  int inum;      //정수 입력을 위한 변수
  int i;         //반복문 제어를 위한 변수
  printf("
정수 입력 : ");
  scanf("%d",&inum);  //정수 입력
  if(inum==1//1의 경우 소수도 합성수도 아님
  {
    printf("
결과 : 합성수도 소수도 아님 [%d]\n",inum);  //출력
  }
  else if(inum==2)   //2는 2의 배수이면서 소수임
  {
    printf("
결과 : 소수\n");    //소수로 출력
  }
  else if(inum%2==0)    //2의 배수들은 2의 합성수
  {
    printf("
결과 : 합성수[%d]\n",2);  //합성수 2로 출력
  }
  else if(inum%2==1)     //홀수는 홀수의 곱으로 나타내어짐
  {
    for(i=3;i<=inum/2;i+=2//2씩증가하면서 검사
    {
      if(inum%i==0//inum/2까지의 범위의 수로 나눠 나눠떨어지면
      {
        printf("
결과 : 합성수[%d]\n",i);  //합성수로 출력 하면서 정지
        break;
      }

    }
    if(i>inum/2)     //나눠떨어지지 않고 for문을 종료했을 경우
    {
      printf("
결과 : 소수\n");  //소수로 출력
    }

  }

  return 0;
}

출처 옆자리 형님 티스토리

'C언어 > C과제' 카테고리의 다른 글

C과제 9  (0) 2010.10.22
C 연습문제  (0) 2010.10.22
C과제 8  (1) 2010.10.19
FND 응용실습 예제  (0) 2010.10.19
C과제 7  (0) 2010.10.14