Link
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 그래프2
- wxMaxima install for mac os
- 등록금0원
- 쌍대성원리
- 아이엔이야기
- 2023채용박람회
- 맥북에서 wxMaxima 설치
- kgol
- 배윤슬
- 청년도배사 이야기
- 숫타니파아타
- 합의정리
- 집착형
- 직선의방정식
- 허스켈그래프
- 이분그래프
- 이런 사람에게 "절대" 돈과 시간 쓰지 마세요. (이헌주 교수 3부)
- 정보처리기사공부방법
- 오일러투어
- 티스토리챌린지
- 나르시스트
- 윤파고
- playground배열
- 데이터베이스시스템
- 오블완
- 다자녀장학금
- wxmaxima
- 최단경로문제
- 무소의뿔
- 제거된값 첨부하기
Archives
- Today
- Total
사적공간
소수 prime_number 식별_c 본문
소수의 범위: 자연수 중에서 1 초과범위에서 1과 자기 자신만을 약수로 가지는 수
위 블로거의 코드는 1을 출력하므로 아래 내가 작성한 코드에서 초기값을 2로 주었다.(int i =2)
소수의 갯수를 세어야 하므로 (전체회전수 - 합성수status=1)을 놓고 출력하였다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include <stdio.h>
#define SIZE 20 // 20이하의 소수를 구하기 위해
void main()
{
int countA= 0, countB=0; // countA는 for문 회전수, countB는 합성수의 개수, 초기값은 0
for (int i = 2; i <= SIZE; i++) // 2부터 SIZE까지 1씩 증가시켜서 아래 작업을 반복한다.
{
int status = 0; // status는 소수인지 아닌지 판별하는 수 0이면 소수,1 이면 합성수
countA++; // SIZE만큼 전체 회전수 세기
for (int j = 2; j < i; j++) // j를 2부터 i보다 적은 수까지 1씩 증가시키며 아래반복(2부터 하는 이유는 소수는 1과 자기자신으로만 나눌 수 있으므로 )
if (i % j == 0) /*i를 j로 나누어 나머지가 0이면 i는 합성수, 나머지가 0이 아닐때까지는 소수*/
{
status = 1; // status가 1이라는 건 i는 합성수
countB++; //합성수
break; //회전 끝내고 빠져 나가기
}
if(status == 0) //i를 소수로 보고 아래에서 출력
printf("%d ", i);
}
printf("\n 소수의 개수는 %d 개", countA-countB); // 전체회전수 - 합성수
}
|
cs |
소스 참고: https://codevang.tistory.com/65
count 사용법 참고: https://blog.naver.com/tipsware/221371970080
'KNOU_CS > 이산수학' 카테고리의 다른 글
그래프1 차수에 관해 생각해보기 (0) | 2022.08.10 |
---|---|
그래프1 이분그래프 (0) | 2022.08.09 |
부울대수 (0) | 2022.08.09 |
이산수학 학습주안점 (0) | 2022.08.02 |
부분집합 문제 (0) | 2022.07.29 |