アプリ版:「スタンプのみでお礼する」機能のリリースについて

Javaで、約分のプログラミングが上手くいきません。
間違っている部分を教えていただけないでしょうか。
import java.util.Scanner;

public class rensyu0707 {

public static void main(String[] args) {
int p,q,r;
Scanner sc=new Scanner(System.in);
System.out.print("p=");
p=sc.nextInt();
System.out.print("q=");
q=sc.nextInt();
System.out.print(p+"/"+q+"=");
while(true){
r=q%p;
if(r==0) {
break;
}
else {
q=p;
p=r;
}
}
System.out.println(p/p+"/"+q/p);
}

}

質問者からの補足コメント

  • 分数の分子pと分母qを読み込んで、「36/48=3/4」のように表示されるようにしたいです。

      補足日時:2020/06/18 17:31

A 回答 (3件)

あ, ごめん, 36/48 は 3/4 であってるんだ. 見間違えた.



いずれにしても「何がどうなっていることをもって『間違ってる』と判断したのか」は確認しておきたいね.
    • good
    • 0
この回答へのお礼

カテゴリー間違ってしまい、すみません。
このプログラムだと3/1と表示されてしまうので、どこか間違っているのだろうと思いました。
間違い訂正でき、上手くいきました。
回答ありがとうございました。

お礼日時:2020/06/18 19:00

カテゴリーが「C言語・C++・C#」であるところから間違ってるな.



あと「36/48=3/4」も間違ってる. テストデータが間違ってたらテストは正しく実行できないよ.

さておき, あなたはこのプログラムで具体的に何がどうなったことを持って「間違っている」と判断した?
    • good
    • 0

ユークリッドの互除法で調べてみてください。

    • good
    • 0
この回答へのお礼

ユークリッドを参考にして、上手くいきました。
ありがとうございました。

お礼日時:2020/06/18 18:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!