티스토리 뷰
[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
- JavaScript
- 소스
- php
- MBTI 자료
- 프로그래밍 문제
- 프로그래밍
- 안드로이드 어플
- 성공
- It
- MBTI
- C언어 소스
- C
- C언어
- 인터넷 익스플로러
- 안드로이드
- C언어 문제
- 인터넷
- 모토로이
- 강의
- 안드로이드 어플 추천
- 스마트폰
- HTML
- 소스코드
- MBTI 강좌
- 효과음
- 예제 소스
- 강좌
- 리뷰
- MBTI 검사
- MBTI 테스트
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함