gooドクター有料プランが1ヶ月間無料!

数Aについての質問です、最大公約数や最小公倍数を求める時小学校の時に受験の塾で習うような、逆割り算で求めるのは良くないのでしょうか?教科書では素因数分解したときの指数を利用して求めていました。

gooドクター

A 回答 (6件)

プログラムを組むためには「ユークリッド拡張互除法」が一番です。



pythonでもC言語でもExcel VBAでも何でもいいのですがC言語の場合は

int gcd(int a,int b)
{
int p = a;
int q = b;
for(;p % q != 0;)
{
int mod;
int sec;
sec = q;
mod = p % q;
p = sec;
q = mod;
}
return q;
}

と組めば最大公約数を求める関数が出来上がるわけです。事務員なので下手くそコードとなっていますが、でも組んでみました。

もちろん素因数分解する関数を作って求めさせても良いとは思いますが。

もちろん数学の問題を解く上では、既に回答が出ておりますが素因数分解する方法も知っておく必要があります。
    • good
    • 0

素因数があまりにも大きな時はユークリッドの互除法が良いでしょう。

    • good
    • 0

その「逆割り算」というのは、互除法の逆用のことですね?


それのことを「ユークリッド拡張互除法」といって、
素因数分解よりも計算時間の短い、高級な解法ですよ。
    • good
    • 0

発展の為には素因数分解が必須です。



例えば、130にある数を掛けたら、平方数になった。ある数の最小値は?
とか、立法数になったら。
√(130x)が整数になる様な最小のxは?

逆割り算では解けない。
    • good
    • 0

「逆割り算で求める」


 ワシは学年は忘れたが、授業で習った(塾に行った経験無し)
 自分のやりやすい方法で求めれば良いと思う。
    • good
    • 1

別にどちらでも構いません。


楽にできそうな方を選べばよいだけの話です。
もちろん、どちらで計算しても同じになるということが理解できていることが前提になります。
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング