티스토리 뷰
[C언어] 소수 판단 프로그램 예제 소스(prime number)
소수(prime number)는 무엇인가요? |
소수(prime number)란 1과 자기 자신만으로 나누어지는 1보다 큰 양의 정수를 말합니다.
예를 들면 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,… 등 1과 자기 자신만으로 나누어지므로 모두 소수라고 말할 수 있습니다.
4=(22), 6=(2×3), 16=(24)… 등, 소수가 아닌 자연수를 합성수(合成數)라 하며, 1은 소수도 아니고 합성수도 아닙니다.
소수인지 아닌지 어떻게 판단할까요? |
자연수 n이 소수인지 아닌지를 판정하려면, 2≤p≤ (n/2)인 범위에 있는 모든 소수 p로 n을 나누어 보아, 나누어지지 않는 수를 구하면 됩니다.
소수인지 판단하는 함수 |
/* ======================================== # Function isPrime ---------------------------------------- 입력 : @ int number : 소수 여부를 판단할 숫자 반환 : TRUE : number가 소수임 FALSE : number가 소수가 아님 ---------------------------------------- */ int isPrime( int number ) { int i = 0 ; // 2부터 입력받은 수(number/2)까지 반복 for( i = 2 ; i <= (number/2) ; i++) { // 나누어 떨어지면 FALSE 리턴 if ( number % i == 0 ) { return FALSE; } } // 나누어 떨어지지 않을 경우 소수임 // TRUE 리턴 return TRUE ; }
소수 판단 예제 소스를 봅시다 |
다음은 입력받은 수가 소수인지 판단하는 C언어 예제 소스입니다.
오른쪽 상단의 툴바 버튼를 클릭하면 소스를 복사하실 수 있습니다. 주석을 자세하게 달았기 때문에 모르시는 분들도 쉽게 하실 수 있을 것입니다
오른쪽 상단의 툴바 버튼를 클릭하면 소스를 복사하실 수 있습니다. 주석을 자세하게 달았기 때문에 모르시는 분들도 쉽게 하실 수 있을 것입니다
#include<stdio.h> // 상수 정의 const int FALSE = 0 ; const int TRUE = 1 ; int isPrime( int number ); int main(int argc, char* argv[]) { int number = 0 ; int result = 0 ; printf("***** 소수 구하기 프로그램 *****\n") ; // 소수를 구할 숫자 입력 printf("숫자를 입력하세요.\n==> ") ; scanf("%d", &number ) ; // isPrime(number)의 결과를 result에 대입 result = isPrime(number); // result값으로 소수 여부 출력 // result = TRUE일 경우 소수 // result = FALSE일 경우 소수가 아님 if ( result ) printf("%d(은)는 소수입니다.\n", number); else printf("%d(은)는 소수가 아닙니다.\n", number); return 0; } /* ======================================== # Function isPrime ---------------------------------------- 입력 : @ int number : 소수 여부를 판단할 숫자 반환 : TRUE : number가 소수임 FALSE : number가 소수가 아님 ---------------------------------------- */ int isPrime( int number ) { int i = 0 ; // 1인 경우 소수가 아니므로 FALSE 리턴 if ( number == 1 ) return FALSE; // 2부터 입력받은 수(number/2)까지 반복 for( i = 2 ; i <= (number/2) ; i++) { // 나누어 떨어지면 FALSE 리턴 if ( number % i == 0 ) { return FALSE; } } // 나누어 떨어지지 않을 경우 소수임 // TRUE 리턴 return TRUE ; }
실행화면 |
'IT 이야기 > 프로그래밍' 카테고리의 다른 글
[PHP]에서 지원하는 MySQL API 함수 (0) | 2010.08.09 |
---|---|
[MySQL]Load Data infile (0) | 2010.08.09 |
[JAVA] javadoc 사용법 (0) | 2010.08.09 |
[JAVA] instanceof 연산자 (0) | 2010.08.09 |
[JAVA] .class파일에서 사용된 생성자메소드, 필드, 메소드 알아내기 (0) | 2010.08.09 |
[C언어 예제] 파일 입출력 함수를 이용한 파일 복사 (0) | 2010.08.05 |
[C언어 예제] 파일 복사하는 예제 소스 (0) | 2010.08.05 |
[C언어 예제] 텍스트 파일 뷰어 소스 (0) | 2010.08.05 |
[HTML/CSS] 홈페이지 만들 때 유용한 텍스트 롤오버 메뉴 만들기 (0) | 2010.08.03 |
[Javascript] Document객체의 프로퍼티 (0) | 2010.08.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
- W3Schools Online Web Tutorials
- 구차니의 잡동사니 모음
- [IT]블로거팁닷컴
- 비앤아이님의 블로그
- Blog Suspect
- 즐거운하루 blog
- zinicap의 검색엔진 마케팅(SEM)
- 머니야머니야님의 블로그
- [Friend] AtinStory
- [기타배우기]해브원 박스
- [웹표준] SINDB.com
- 해커 C 이야기
- [애드센스] 길라잡이
- 정순봉의 IT SCHOOL
- 씨디맨의 컴퓨터이야기
- 2proo Life Story
- 못된준코의 세상리뷰
- [IT강좌] 정보문화사
- IN 대전
- 에우르트는 나쁜남자 -_-
- 씬의 싱크탱크
- 엔돌슨의 IT이야기
- 진이늘이
- 'Cooltime'의 블로그
- 후이의 Tistory
- Soulstorage
- 앤드&엔드의 블로그
- June Blog
- 노지의 소박한 이야기
- gbWorld
- 인터넷 속 나의 생각
- HarshNix
- ART of WEB
- 녹두장군 - 상상을 현실로
TAG
- C언어 문제
- php
- 인터넷
- MBTI 자료
- JavaScript
- 리뷰
- 효과음
- MBTI 강좌
- It
- MBTI 테스트
- 인터넷 익스플로러
- C언어
- 모토로이
- 예제 소스
- 안드로이드
- 프로그래밍 문제
- 소스
- C
- 성공
- 강의
- MBTI
- 프로그래밍
- HTML
- MBTI 검사
- 안드로이드 어플
- 스마트폰
- 안드로이드 어플 추천
- 소스코드
- C언어 소스
- 강좌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함