유클리드 호제법 질문좀
가시
질문 제목 : 유클리드 호제법 질문좀요;; 값이 안나오네요...
질문 내용 :
#include stdio.h
int divine(int a,int b);
int main(void)
{
int a,b;
for(;;)
{
printf(input the natural number : );
scanf(%d %d,&a,&b);
if(a0 && b0)
{
printf(g m c is %d\n,divine(a,b));
break;
}
else
continue;
}
return 0;
}
int divine(int a,int b)
{
int r1,r2;
if(ab)
{
int e;
e=a,a=b,b=e;
}
r1=a%b;
for(;r2==0;)
{
r2=b%r1;
b=r1;
r1=r2;
}
return b;
}
아무리 봐도 맞는거 같은데 그냥 입력한 두숫자 중에 작은 수가 그냥 출력되네요유클리드 호제법 하는건데 뭐가 잘못됫는지좀 찝어 주세요
인터넷에서 검색하면c = b / d; /*b를 d로 나눈 몫이 c이고*/
d = b % d; /*d에다가 b를 d로 나눈 나머지를 대입하고*/
b = (b - d) / c; /*b에다가 (b-d) /c값을 대입*/
} /*유클리드 호제법입니다. 모르시면 공부하세요*/이게 나오는데 c = b / d; /*b를 d로 나눈 몫이 c이고*/ 여기서 몫은 왜 필요하고
b = (b - d) / c 이 식은 왜 써야 되는지를 모르겠네요유클리드 호제법이a랑 b랑 있을때 r1=a%b 일때 b랑 r이랑 나누고 거기서 생긴 r2=b%r1 이고다시 r3=r1%r2 이렇게 반복했을때 나머지가 0이 되는순간 그때의 나눈 b를 구하는거 아닌가요예를 들어 12와 18로 따지면 6=18%12 , 0=12%6 그래서 나머지가 0이 되는 순간의 값 6이12와 18의 최대공약수 아닌가요;;;아 머리아파
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2698938 | c언어 메모리질문 (3) | 나래 | 2025-06-21 |
2698909 | 서비스 요청 고객 관리 프로그램 짜는것좀 도와주세요ㅜㅜ (4) | 궁수자리 | 2025-06-21 |
2698882 | 프로그래밍좀 짜주세요 (3) | 황예 | 2025-06-21 |
2698855 | 카프-라빈 알고리즘 코딩 분석좀 도와주세요.. | 꽃봄 | 2025-06-20 |
2698829 | 학점계산기 (7) | MyWay | 2025-06-20 |
2698782 | 기초적인 함수 질문이요ㅠㅠㅠㅠ | 내담 | 2025-06-20 |
2698749 | 프로그램 짜던 도중 패닉입니다...ㅜ | 파랑 | 2025-06-19 |
2698719 | 조건부컴파일 질문입니다.~ (2) | 큐트 | 2025-06-19 |
2698693 | 재귀 함수 에러 | 바닐라 | 2025-06-19 |
2698673 | 고민이있는데 들어좀주세요!! (1) | 초코맛캔디 | 2025-06-19 |
2698644 | 1부터 n까지의 합을 구하는데 엄청긴숫자의 합을 구할때는 어떻게 해야하나요? (4) | 슬우 | 2025-06-18 |
2698616 | 다른 함수로 안넘어갑니다..;;; | 도1도캣 | 2025-06-18 |
2698587 | 배열하다 막혀서... (3) | WhiteCat | 2025-06-18 |
2698559 | 문자열을 비우는방법 (2) | 하늘 | 2025-06-18 |
2698528 | 착하고 친절한 선생씌구해염~ㅋㅋ (4) | 옆집언니야 | 2025-06-17 |
2698502 | 자료구조 큐 | 캔서 | 2025-06-17 |
2698477 | 실행화면 배경문의요 | 선아 | 2025-06-17 |
2698430 | 변수의 값이 저장이 않되네요;; (4) | 피네 | 2025-06-16 |
2698404 | C#을 배울려고 하는데 C나 C++을 알아야 하나요 ?? (1) | 신당 | 2025-06-16 |
2698342 | 프로그램 질문점녀 (4) | 데빌의눈물 | 2025-06-16 |