>  기사  >  백엔드 개발  >  분수를 가장 간단한 형태로 줄이는 C++ 코드

분수를 가장 간단한 형태로 줄이는 C++ 코드

王林
王林앞으로
2023-09-05 19:37:061792검색

분수를 가장 간단한 형태로 줄이는 C++ 코드

두 개의 정수 Num1과 Num2가 입력으로 주어졌습니다. 이 두 정수는 분수 Num1/Num2로 표현될 수 있습니다. 목표는 이 분수를 가장 간단한 형태로 줄이는 것입니다.

최대 공약수(GCD)를 사용하여 최대 분모를 찾습니다.

  • 이 두 숫자의 GCD를 계산합니다.

  • 두 숫자를 최대 공약수로 나눕니다.

  • 이 두 변수를 나눗셈 후의 몫으로 설정하세요.

  • 가장 간단한 분수는 Num1/Num2입니다.

Example

Input - Num1=22 Num2=10

Output - Num1 = 11 Num2 = 5

가장 간단한 분수는 다음과 같습니다. 11/5

설명- 최대 22개 및 10개 공약수는 2입니다.

22/2=11, 10/2=5

가장 간단한 분수는 11/5입니다

Input- Num1=36 Num2=40

Output- Num1 = 9 Num2 = 10

가장 간단한 점수는: 9/10

설명 - 36과 40의 최대공약수는 4입니다.

40/4=10, 36/4=9

가장 간단한 분수는 9/10입니다

아래 프로그램에서 사용한 방법은 다음과 같습니다

이 방법에서는 먼저 재귀적 방법을 사용하여 가장 큰 분수를 계산합니다. 입력 숫자의 공약수. 두 숫자를 최대 공약수로 나누고 가장 간단한 분수의 일부가 될 몫을 구합니다.

  • 입력 변수 Num1 및 Num2를 가져옵니다.

  • findGCD(int a, int b) 함수는 num1과 num2를 받아들이고 둘 중 최대 공약수를 반환합니다.

  • b가 0이면 a를 반환하고, 그렇지 않으면 findGCD(b,a%b)를 반환합니다.

  • lowestFraction(int num1, int num2) 함수는 두 개의 숫자를 입력으로 받아들이고 가장 간단한 분수를 인쇄합니다.

  • 최대 공약수를 나타내려면 변수 denom을 사용하세요.

  • num1=num1/denom 및 num2=num2/denom을 설정합니다.

  • num1과 num2를 인쇄하세요.

  • 가장 간단한 분수를 num1/num2로 인쇄하세요.

#include <bits/stdc++.h>
using namespace std;
int findGCD(int a, int b) {
   if (b == 0)
      return a;
      return findGCD(b, a % b);
   }
   void lowestFraction(int num1, int num2){
      int denom;
      denom = findGCD(num1,num2);
      num1/=denom;
      num2/=denom;
      cout<< "Num1 = " << num1<<endl;
      cout<< "Num2 = " << num2<<endl;
      cout<< "Lowest Fraction : "<<num1<<"/"<<num2;
}
int main(){
   int Num1 = 14;
   int Num2 = 8;
   lowestFraction(Num1,Num2);
   return 0;
}

Output

위 코드를 실행하면 다음과 같은 출력이 생성됩니다

Num1 = 7
Num2 = 4
Lowest Fraction : 7/4

위 내용은 분수를 가장 간단한 형태로 줄이는 C++ 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제