유클리드 알고리즘 사용
1686 단어 유클리드 알고리즘
먼저 귀속 실현 을 본다.
int getcd(int m,int n)
{
if (m < 0 || n <0) {
return 0;
}
if(m < n)
{
int t = m;
m = n;
n = t;
}
if(m % n)
{
return getcd(n,(m % n));
}
else
{
return n;
}
}
주요 계산 과정 은 세 단계 로 나 뉜 다.1.입력 한 두 개의 자연수 m>n 에 대해 나머지 r 를 취하 여 0<=r
3.r 가 0 이 아니면 할당 m=n,n=r 는 절차 1 부터 다시 실행 합 니 다.
두 자연수 의 공인 수의 정 의 는 계산 결과 가 발생 하 는 조건 을 설명 한다.단계 1 에서 계 산 된 나머지 r=0 이면 작은 수 는 공약수 이다.하면,만약,만약...0.자연수 m,n 의 관 계 는 m=kn+r(그 중에서 k 는 자연수)로 표시 할 수 있 고 등식 은 m 를 제거 할 수 있 는 모든 수 는 반드시 n 과 r 를 제거 할 수 있다 는 것 을 증명 할 수 있다.등식 은 r=m-kn 으로 변형 할 수 있 으 며,동시에 m,n 의 모든 수 를 제거 하 는 것 도 반드시 r 를 제거 할 수 있다 는 것 을 의미한다.즉,m,n 을 제거 할 수 있 는 수의 집합 은 n,r 를 제거 하 는 수의 집합 과 같다.그래서 서로 뒤 척 이 며 제거 하 는 방법 이 성립 되 었 다.
유클리드 알고리즘 을 순환 적 으로 구현 하 는 버 전 을 발표 합 니 다.
int getcd2(int m,int n)
{
if (m < 0 || n <0) {
return 0;
}
if(m<n)
{
int t=m;
m=n;
n=t;
}
int cd = 1;
while(1){
int r = m % n;
if(0==r)
{
cd = n;
break;
}
else {
m=n;
n=r;
}
}
return cd;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
유클리드 알고리즘 사용유클리드 알고리즘 은 전전 상 제법 이 라 고 하 는데 이미 알 고 있 는 m,n 두 자연수 의 공인 수 를 구 하 는 데 쓰 인 다.절 차 를 결합 하여 전전 상제 의 구체 적 인 상황 을 설명 하 다. 2.r 가...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.