adj

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
c言語

adj

#1

投稿記事 by c言語 » 6年前

c言語の3つの自然数a,b,cの最大公約数を考えたとき、aとbの最大公約数をdとするならば、cとdの最大公約数がa.b,cの最大公約数となる。以下のプログラムを利用してキーボードから入力した3つの自然数の最大公約数を表示するプログラムをおしえてください
以下のプログラムのmain関数内だけを修正で作成お願いします
#include <stdio.h>

int gcd(int a,int b){
int r;
/* ユークリッドの互除法 */
r = a % b;
while(r!=0){
a = b;
b = r;
r = a % b;
}
return b;
}

void main(void)
{

int a, b,tmp;

printf("2つの自然数を入力してください。\n");
printf("1つ目の自然数 = ");
scanf("%d", &a);
printf("2つ目の自然数 = ");
scanf("%d", &b);

/* 自然数 a > b を確認・入替 */
if(a<b){
tmp = a;
a = b;
b = tmp;
}
printf("最大公約数は%dです\n", gcd(a, b));
}

アバター
purin52002
記事: 235
登録日時: 7年前
連絡を取る:

Re: adj

#2

投稿記事 by purin52002 » 6年前

こんにちは

作成お願いします、とのことですが
ここは質問掲示板であって、作成依頼掲示板じゃないので私は作成しません^p^
(中には作成してくれる人もいるかも?)

何がわからないのかわからないのでどう説明すればいいのかもわかりませんが、
以下のような処理をすればいいような気がします。
  1. 3つの自然数 a,b,c を入力
  2. a,b の大きさを比較、b のほうが大きかったら a と入れ替える
  3. d に gcd(a,b) の結果を代入
  4. c,d の大きさを比較、d のほうが大きかったら c と入れ替える
  5. gcd(c,d) の結果を表示
そんなに難しいプログラムではないと思うので頑張って自分で完成させてみてください^^
c++初心者を自負しています。
質問者さんには今後私にプログラミングを教えてくれるようにやさしく丁寧に教えるつもりです。ぎぶあんどていく^p^
回答者さんには精一杯感謝します。ぎぶおんりー^p^

返信

“C言語何でも質問掲示板” へ戻る