天天看點

約分最簡分式

約分最簡分式

分數可以表示為分子/分母的形式。編寫一個程式,要求使用者輸入一個分數,然後将其約分為最簡分式。最簡分式是指分子和分母不具有可以約分的成分了。如6/12可以被約分為1/2。當分子大于分母時,不需要表達為整數又分數的形式,即11/8還是11/8;而當分子分母相等時,仍然表達為1/1的分數形式。

輸入格式:

輸入在一行中給出一個分數,分子和分母中間以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整數(不包含0,如果不清楚正整數的定義的話)。

提示:在scanf的格式字元串中加入/,讓scanf來處理這個斜杠。

輸出格式:

在一行中輸出這個分數對應的最簡分式,格式與輸入的相同,即采用分子/分母的形式表示分數。如 5/6表示6分之5。

輸入樣例:

60/120

輸出樣例:

1/2

題目判定

解題程式

編譯器:*

JAVAC

程式代碼

import java.util.Scanner;
public class Main {
    public static void f(String str)
    {
        int i = str.indexOf('/');
        String temp = str.substring(, i);
        int fenzi = Integer.parseInt(temp);
        temp = str.substring(i+);
        int fenmu = Integer.parseInt(temp);
        int yueshu = fYueshu(fenzi,fenmu);
        fenzi = fenzi/yueshu;
        fenmu = fenmu/yueshu;
        System.out.print(""+fenzi+'/'+fenmu);
    }
    public static int fYueshu(int fenzi,int fenmu)
    {
        int yushu= ;
        if(fenzi>fenmu)
        {
            yushu = fenzi;
            fenzi = fenmu;
            fenmu = yushu;
        }
        yushu = fenzi;
        while(yushu!=)
        {
            yushu = fenmu%fenzi;
            fenmu = fenzi;
            fenzi = yushu;
        }
        return fenmu;
    }
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String str = scan.next();
        f(str);
    }
}