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语言约分最简分式原理,算法基础:约分最简分式的主要内容,如果未能解决你的问题,请参考以下文章
C#,码海拾贝(06)——连分式(Continued Fraction)曲线插值算法,《C#数值计算算法编程》源代码升级改进版