[C언어 코드업 문제풀이] CodeUp 1274 : 소수 판별
ET의 공부/C언어 연습문제[ 코드업 ]2020. 3. 12. 22:15
코드업 1274번 소수 판별 문제 풀이 해답입니다.
1. 문제 설명
소수란, 약수가 1과 자기 자신 두 개 뿐인 수를 말한다.
어떤 수가 입력되면 그 수가 소수인지 판단하시오.
예)
2 ====> 소수 (왜냐하면 약수가 1 과 자기자신 2밖에 없기때문..)
3 ====> 소수 (왜냐하면 약수가 1 과 자기자신 3밖에 없기때문..)
4 ====> 소수가 아님 (왜냐하면 약수가 1 , 2 , 4 이기 때문..)
10 ====> 소수가 아님 (왜냐하면 약수가 1 , 2 , 5 , 10 이기 때문..)
11 ====> 소수 (왜냐하면 약수가 1 과 자기자신 11밖에 없기때문..)
2. 입력
2이상의 자연수가 입력으로 주어진다.
3. 출력
입력으로 주어진 수가 소수이면 "prime"을 출력, 소수가 아니면 "not prime"을 출력한다.
4. 입력 예시
7
5. 출력 예시
prime
6. 문제 풀이
1 2 3 9 12
#include<stdio.h>
int main(){
int N; //k존,h밥
scanf("%d",&N);
int index = 0;
for(int i = 1; i<= N; i++){
if( (N%i) == 0){index++;}
}
if(index == 2){printf("prime");}
else{printf("not prime");}
return 0;
}
|
많은 풀이 방법이 있지만 허접하게 가장 기본적인 방법으로 풀어 봤습니다.
소수는 1과 자기자신만을 약수로 두고있는 수입니다.
따라서 약수를 카운트해서 약수가 2일 경우 소수가 됩니다.
if( (N%i) == 0){index++;}
i로 N을 나누어졌을때 index를 증가시킵니다.
if(index == 2){printf("prime");}
index(약수의 개수)가 2일경우 소수로 판단합니다.
감사합니다.
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1276 : 팩토리얼 계산 (0) | 2020.03.12 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1275 : k 제곱 구하기 (0) | 2020.03.12 |
[C언어 코드업 문제풀이] CodeUp 1029 : (0) | 2020.03.12 |
[C언어 코드업 문제풀이] CodeUp 1272 : 기부 (0) | 2020.03.12 |
[C언어 코드업 문제풀이] CodeUp 1271 : 최대값 구하기 (0) | 2020.03.11 |
댓글()