#9
by Riko » 5年前
Math さんが書きました: ↑5年前
ヒントです(^^; gcc8.2.0 使用
コード:
#include <stdio.h>
int main(void)
{
int x;
printf("Input a number x: ");
scanf("%d" , &x);
int m;
printf("Input a number m: ");
scanf("%d" , &m);
int n;
printf("Input a number n: ");
scanf("%d" , &n);
int z;
z=m * n;
int t;
if(m < n){ t=m; m=n; n=t;}
int r;
r=m % n;
while(r != 0){ m=n; n=r; r=m % n;}
int lcm=z / n;
int kekka;
kekka = x % lcm; // x%(m*n);
if( kekka==0 )
{
printf("x ha m to n no koubaisuu desu \n");
}
else
{
printf("x ha m to n no koubaisuu deha arimasenn \n");
}
return 0;
}
実行
コード:
C:\19\19c\gcc820>gcc main.c
C:\19\19c\gcc820>dir a.exe
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 7813-6100 です
C:\19\19c\gcc820 のディレクトリ
2019/05/25 21:04 42,838 a.exe
1 個のファイル 42,838 バイト
0 個のディレクトリ 116,542,201,856 バイトの空き領域
C:\19\19c\gcc820>a.exe
Input a number x: 12
Input a number m: 4
Input a number n: 6
x ha m to n no koubaisuu desu
C:\19\19c\gcc820>pause
続行するには何かキーを押してください . . .
ヒントありがとうございます!
コード:
int z;
z=m * n;
int t;
if(m < n){ t=m; m=n; n=t;}
int r;
r=m % n;
while(r != 0){ m=n; n=r; r=m % n;}
int lcm=z / n;
この部分はいったい何をやっているのか教えていただけますでしょうか。
[quote=Math post_id=153445 time=1558786466]
ヒントです(^^; gcc8.2.0 使用
[code]
#include <stdio.h>
int main(void)
{
int x;
printf("Input a number x: ");
scanf("%d" , &x);
int m;
printf("Input a number m: ");
scanf("%d" , &m);
int n;
printf("Input a number n: ");
scanf("%d" , &n);
int z;
z=m * n;
int t;
if(m < n){ t=m; m=n; n=t;}
int r;
r=m % n;
while(r != 0){ m=n; n=r; r=m % n;}
int lcm=z / n;
int kekka;
kekka = x % lcm; // x%(m*n);
if( kekka==0 )
{
printf("x ha m to n no koubaisuu desu \n");
}
else
{
printf("x ha m to n no koubaisuu deha arimasenn \n");
}
return 0;
}
[/code]
実行
[code]
C:\19\19c\gcc820>gcc main.c
C:\19\19c\gcc820>dir a.exe
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 7813-6100 です
C:\19\19c\gcc820 のディレクトリ
2019/05/25 21:04 42,838 a.exe
1 個のファイル 42,838 バイト
0 個のディレクトリ 116,542,201,856 バイトの空き領域
C:\19\19c\gcc820>a.exe
Input a number x: 12
Input a number m: 4
Input a number n: 6
x ha m to n no koubaisuu desu
C:\19\19c\gcc820>pause
続行するには何かキーを押してください . . .[/code]
[/quote]
ヒントありがとうございます!
[code]
int z;
z=m * n;
int t;
if(m < n){ t=m; m=n; n=t;}
int r;
r=m % n;
while(r != 0){ m=n; n=r; r=m % n;}
int lcm=z / n;
[/code]
この部分はいったい何をやっているのか教えていただけますでしょうか。