C/C++の宿題片付けます 150代目
■ このスレッドは過去ログ倉庫に格納されています
0686デフォルトの名無しさん
2011/07/14(木) 20:02:43.72これはユークリッドの互除法のやり方で、定数時間で出来るはずだ。
10a + 37b + 40c + 45d + 48e + 70f = N をこのように変形。 10(a + 3b + 4c + 4d + 4e + 7f ) + 7b + 5d + 8e = N
新たな式10a' + 7b + 5d + 8e = Nを考えて、もしこの解全体が求まれば元の解を求めるのに役立てられる。
5(d + b + e + 2a') + 2b + 3e = Nと変形してより簡単な式に帰着できる。
新たな式5b' + 2b + 3e = Nは、2(b + e + 2b') + e + b' = Nと変形できる。
途中まで書いたがここから面倒になった。
連立一次不等式の格子点の個数を求める問題に帰着され、解個数はNの6次式になるはず。
■ このスレッドは過去ログ倉庫に格納されています