質問するログイン新規登録

質問編集履歴

1

解決

2019/12/14 13:41

投稿

hayato208
hayato208

スコア19

title CHANGED
File without changes
body CHANGED
@@ -83,4 +83,42 @@
83
83
  注文が多いですが、お力添えしていただけると助かります。
84
84
 
85
85
  ### 補足情報(FW/ツールのバージョンなど)
86
- 用いているツールはpaizaです。
86
+ 用いているツールはpaizaです。
87
+
88
+ ### 上記処理の解決方法
89
+
90
+ ```C
91
+ #include <stdio.h>
92
+
93
+ //プロトタイプ宣言
94
+ int gcd(int,int);
95
+ int lcm(int,int,int);
96
+
97
+ int main(void){
98
+ int n1,n2,MAXgcd;
99
+ scanf("%d %d",&n1,&n2);
100
+ printf("1つ目の値を入力してください%d\n",n1);
101
+ printf("2つ目の値を入力してください%d\n",n2);
102
+ MAXgcd = gcd(n1,n2);
103
+ printf("2つの数の最大公約数は、%dです。\n",MAXgcd); //mのスコープ範囲をint bcdに移動
104
+ printf("2つの数の最小公倍数は、%dです。\n",lcm(n1,n2,MAXgcd));
105
+ }
106
+
107
+
108
+ //最大公約数を計算する関数
109
+ int gcd(int n1,int n2){
110
+ int m,MAX;
111
+ for(m = 1 ; m <= n1 || m <= n2 ; m++){
112
+ if(n1 % m == 0 && n2 % m == 0){
113
+ MAX = m; //最大公約数をint型MAXに格納
114
+ }
115
+ }
116
+ int r = MAX;
117
+ return r; //最大公約数MAXをreturnで返す
118
+ }
119
+
120
+ //最小公倍数を計算する関数
121
+ int lcm(int n1,int n2,int MAXgcd){
122
+ return (n1 * n2) / MAXgcd;
123
+ }
124
+ ```