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;
}
출처 옆자리 형님 티스토리