c语言约分最简分式原理,算法基础:约分最简分式

Posted weixin_39715187

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言约分最简分式原理,算法基础:约分最简分式相关的知识,希望对你有一定的参考价值。

需求:对用户输入的一个分数(分别输入分子和分母)进行约分,并且输出约分后的分数(分别输出分子和分母)。

例如:输入分子为6,分母为12,输出为1/2。

求解思路:先用辗转相除法求出两数的最大公约数,然后再分别相除,将所得拼接成字符串结果。

import java.util.Scanner;

public class Contract {

public static int getContract (int a, int b) {

if(b == 0){

return a;

}else{

int r = a % b;

a = b;

b = r;

return getContract(a,b);

}

}

public static void main(String[] args) {

while (true){

System.out.println("请输入分子与分母:");

Scanner sc = new Scanner(System.in);

int num1 = sc.nextInt();

int num2 = sc.nextInt();

if(num2 == 0){

System.out.println("分母不能为0,请重新输入");

continue;

}else if(num1 == 0) {

System.out.println(String.format("约分结果为:0"));

break;

}else{

int result = getContract(num1,num2);

StringBuilder sb = new StringBuilder();

sb.append(num1/result);

sb.append("/");

sb.append(num2/result);

System.out.println(String.format("约分结果为:%s",sb.toString()));

break;

}

}

}

}

运行结果如下:

请输入分子与分母:

6 12

约分结果为:1/2

以上是关于c语言约分最简分式原理,算法基础:约分最简分式的主要内容,如果未能解决你的问题,请参考以下文章

[PTA]7-24 约分最简分式

最简分式

对分式进行约分的算法

化简分式(求最大公约数).c

小数怎么化成分数

C#,码海拾贝(06)——连分式(Continued Fraction)曲线插值算法,《C#数值计算算法编程》源代码升级改进版