掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
騎士の巡回問題の解の数の表示と経路表示をするには? (ID:38552)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
そもそもここはDephi Q&A掲示板ですし。 >解の数が桁あふれしてしまい、表示できないのでなんとかしたいのですが>< その目的なら、1加算する操作だけあれば十分ですよね。 文字列変数を'0'で初期化しておいて、解が1つ見つかるたびに procedure inc_num(var str: String); var i, n: Integer; begin for i := Length(str) downto 1 do begin n := Succ(Ord(str[i])); if n <= Ord('9') then begin str[i] := Chr(n); Exit; end else str[i] := '0'; // 引き続き桁上がりを処理 end; str := '1' + str; // 全部0になったら1桁増やす end; みたいなことをすれば、メモリが許す限り何万桁でも表示できます。 FMTBcdを使っていいのであれば、TBcd型を使うと少し楽ができます。 var count: TBcd; count := IntegerToBcd(0); ... BcdAdd(count, IntegerToBcd(1), count); WriteLn(BcdToStr(count)); バージョンによってはBcdAddがバグっているかもしれないので注意。 http://qc.embarcadero.com/wc/qcmain.aspx?d=20809
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.