반응형
소수구하기는 강사님께서 시험으로 내주신 실습문제입니다.
소수는 약수가 1과 자기자신밖에 없는 숫자로 2, 3, 5, 7, 11, 13등이있는데 구하는 법을 알아야합니다.
숫자 n이 소수인지 확인하려면 2~n-1까지 나누어 떨어지는 수가 없을때 소수라고 할 수 있습니다.
(프로그래밍에서 %는 나눗값의 나머지를 구하는 연산자입니다)
11로 예를들면,
11%2
11%3
11%4
11%5
11%6
11%7
11%8
11%9
11%10
11%11 = 1
을 했을때, 나머지가 0인 경우가 없기때문에 11은 소수라고 할 수 있습니다.
10으로 예를들면
10%2 = 0이 되기때문에 10은 소수가 되지 않는 것입니다.
그럼 소스코드를 짜볼까요!
int a;
int b;
for(a=2; a<100;a++)
{
b = 2;
while(a>b)
{
if (a % b == 0) // 나머지가 0이면 소수가 아니므로 break로 빠져나갑니다.
{
break;
}
else // 나머지가 0이 아닌경우 b++을해서 다시 while문을 돌립니다.
{
b++;
}
}
if (a == b) // 나누어서 떨어지는 수가 자기자신일때 소수이므로 이때 a를 출력합니다.
{
Console.Write(" {0} ", a);
}
}
Console.WriteLine();
만약 a가 5일때는 if문에는 걸리지않으므로 else로 b가 2, 3, 4까지 while문에 걸렸다가 b가 5가 됬을때 출력합니다.
a가 6일때는 if문에 b가 2일경우 나머지가 0이되어서 break로 빠져나가서 ++a가 되어서 7이 됩니다.
이렇게 a가 100까지 반복하다보면 소수들이 출력되어서 실행창에 뜨게됩니다.
반응형
'개발자과정준비 > 기타 실습' 카테고리의 다른 글
.NET Framework 3.5 설치 오류 해결 방법 (3) | 2021.10.19 |
---|---|
MQTT 개발환경 세팅, 컬러센서 데이터값 받아오기 (0) | 2021.06.23 |
[C#] 할당되지 않은 지역 변수를 사용했습니다. (0) | 2020.06.30 |
SSMS SQL Server sa계정 패스워드를 변경하는 방법 (0) | 2020.06.24 |
메모장으로 프로그래밍을 할 수 있을까? (0) | 2020.05.28 |