「(省略) これは、a * x + b * y = 1 となる(x, y)を求める問題に他ならない。この式から明らかなようにgcd (a, b) != 1のときは、整数解(x, y)は存在しません。」
「(省略) これは、a * x + b * y = 1 となる(x, y)を求める問題に他ならない。この式から明らかなようにgcd (a, b) != 1のときは、整数解(x, y)は存在しません。」
const int N = 3; double determinant(const double x[][N]) { double tmp[N][N]; memcpy(tmp, x, sizeof(tmp)); // make pivots non-zero numbers for (int i = 0; i < N; i++) { if (tmp[i][i] != 0) continue; int k; for (k = 0; k < N; k++) if (tmp[k][i] != 0) break; if (k == N) // all numbers in a column is zero return 0; for (int j = 0; j < N; j++) tmp[i][j] += tmp[k][j]; } // make a triangular matrix for (
ユークリッドの互除法は最大公約数を計算する効率的な方法として古くから知られている方法です。 これについては,ユークリッドの互除法の項で説明しました。ここでは,その発展系の一つで色々なところでよく使われている,拡張ユークリッド互除法について説明します。 ユークリッドの互除法は2つの自然数 x,y の最大公約数を効率的に計算する方法でした。 例えば,GCD(13,5) を計算するのに, 13=2*5+3 5=1*3+2 3=1*2+1 2=2*1 を求めて,GCD(13,5)=1 とするものでした。今の場合この計算は,全く自明で,互除法は不要な感じがします。しかし,少し視点を変えるとそうとも言えません。上の式のうち最後の項を除いて,それぞれ,移項すると, 13-2*5=3 5-1*3=2 3-1*2=1 が得られます。ここで,3行
ユークリッドの互除法は最大公約数を計算する効率的な方法として古くから知られている方法です。最も古いしかし重要なアルゴリズムと言えます。ここではこれについて説明します。 ユークリッド(-330?〜-275)はユークリッド幾何学の名前で有名な古代ギリシアの数学者です。 ユークリッドは非常に有名ですが,ユークリッド自身についてはあまり知られていません。確実なことは彼が「原論」と言われる著作を 残したことぐらいです。 ユークリッドの「原論」は昔「幾何学原論」といわれたこともありましたが,「原論」はいわゆるユークリッド幾何学の原典です。このユークリッド「原論」は全13巻からなる大著で,その全貌を見るのは大変ですが,幸い共立出版から日本語訳が出ていて,身近に触れることも出来ます。比較的大きな図書館には蔵書されていると思いますから,興味のある人は一度ご覧になってみると良いと思います。 この「原論
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く