C 언어 는 메 이 슨 소수 의 코드 와 해석 을 실현 한다.
메 이 슨 수(Mersenne Prime)는 2n-1 과 같은 정 수 를 말 하 는데 그 중에서 지수 n 은 소수,즉 Mn 이다.메 이 슨 수가 소수 라면 메 이 슨 소수 라 고 부른다.예 를 들 어 22-1=3,23-1=7 은 모두 메 이 슨 소수 이다.
n=2,3,5,7 시 Mn 은 모두 소수 이지 만 n=11 시 Mn=M11=211-1=2047=23X 89 는 메 이 슨 소수 가 아 닌 것 이 분명 하 다.
1722 년 스위스 의 수학 거장 오 라 는 231-1=2147483647 이 하나의 소수 임 을 증 명 했 고 모두 10 자리 로 당시 세계 에서 알려 진 최대 소수 가 되 었 다.
지금까지 인 류 는 메 이 슨 소수 47 개 만 발견 했다.메 이 슨 소 수 는 예로부터 수론 연구 에서 중요 한 내용 이자 현재 과학 탐색 에서 의 핫 이 슈 와 어 려 운 문제 이다.
지수 n<20 의 모든 메 이 슨 소 수 를 시험 해 보 세 요.
문제 분석
프로 그래 밍 을 해서 풀 어야 할 문 제 는 지수 n<20 의 모든 메 이 슨 소 수 를 찾 는 것 이다.메 이 슨 소수 의 정의 에 따라 우 리 는 먼저 n<20 의 모든 메 이 슨 수 를 구 한 다음 에 이 수가 소수 인지 아 닌 지 를 하나씩 판단 할 수 있다.소수 라면 이 수 는 메 이 슨 소수 이 고 출력 하면 됩 니 다.그렇지 않 으 면 메 이 슨 소수 가 아니다.
알고리즘 설계
n<20 의 모든 메 이 슨 수 를 요구 하기 때문에 본 문제 의 알고리즘 디자인 에서 순환 구 조 를 사용 해 야 합 니 다.
변수 mp 를 설정 하여 메 이 슨 수 를 저장 하고 정수 i 는 지 수 를 나타 내 며 그 수 치 는 2*12316°19 에서 i 가 변화 할 때마다 해당 하 는 메 이 슨 수 를 계산 하여 mp 에 저장 합 니 다.매번 계 산 된 현재 mp 값 을 함수 prime()로 판단 합 니 다.
mp 가 소수 인지 아 닌 지 를 판단 할 때 함수 prime()를 정의 할 수 있 습 니 다.매번 mp 의 현재 값 을 실제 인삼 으로 함수 prime()에 전달 하고 소수 인지 아 닌 지 를 판단 할 수 있 습 니 다.n 이 소수 라면 prime()함수 반환 값 은 1 이 고 그렇지 않 으 면 prime()함수 반환 값 은 0 입 니 다.
prime()함수 반환 값 이 1 이면 현재 mp 는 메 이 슨 소수 이 므 로 출력 해 야 합 니 다.prime()함수 반환 값 이 0 이면 현재 mp 는 메 이 슨 소수 가 아 닙 니 다.
프로그램 흐름 도:
다음은 완전한 코드 입 니 다.
#include <math.h>
#include <stdio.h>
int prime(int n)
{
int i;
long k;
k=sqrt(n)+1;
for(i=2; i<=k; i++)
if(n%i == 0)
return 0;
return 1;
}
int main()
{
int mp, n=0, i;
printf("Mersenne Prime:
");
for(i=2; i<=20; i++)
{
mp=pow(2,i)-1;
if( prime(mp) )
{
n++;
printf("M(%d)=%d", i, mp);
printf("
");
}
}
printf("the number of Mersenne Prime less than 20 is:%d
", n);
return 0;
}
실행 결과:Mersenne Prime:
M(2)=3
M(3)=7
M(5)=31
M(7)=127
M(13)=8191
M(17)=131071
M(19)=524287
the number of Mersenne Prime less than 20 is:7
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c 언어 간단한 파일 r/w 조작 방법데이터의 입력과 출력은 거의 모든 C 언어 프로그램과 수반된다. 입력이란 원본에서 데이터를 얻는 것이다. 출력은 단말기에 데이터를 쓰는 것으로 이해할 수 있다.이곳의 원본은 키보드, 마우스, 하드디스크, 시디, 스캐...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.