• ベストアンサー

ナンバーズ4のストレートをボックスにするロジック?

例えば、ナンバーズ4のストレートの4桁の数列を、ボックスにするには、 どのようなロジックが良いでしょうか?考えていはいるのですが、 中々、スマートなというか、良いロジックが思い浮かばずです。 知っている方よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

ん~, 順列を使うなら普通は「重複して困る」んじゃないかなぁ. どういうロジックを使ってるのか知らんけど, 1234 に対して 4! = 24 通り出せるなら, 同じことを 1112 に対してやると 1112, 1121, 1211, 2111 が 6回ずつ出てくるはず (というかそのようにできる). で手を抜くなら「既出の数値」を管理して重複したら飛ばすって書くんだけどね.

yuki-ichi
質問者

お礼

なんとか、できました。重複はTreeMapでなんとか。 っていうか、次回からロジックを質問内に入れて質問します~。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

いくつか考えられるけど, ちょ~ベタに考えると 「4桁の数値のすべての可能性を考えて, 適切なものだけを取り出す」 方法で (やたらと無駄は多いけど) できることは間違いない. ふつうは順列とかを使って無駄を省くんだけどね.

yuki-ichi
質問者

お礼

回答ありがとうございます。 順列や組み合わせを使って、 1234や4321などは作れるようになりましたが、 重複する1122や1112などがつくれない感じです。

noname#147388
noname#147388
回答No.1

そういう場合、ソースをアップするなりすれば、つっついてくれますよ。

yuki-ichi
質問者

お礼

はい! がんばっています。けど、むずい。。。

関連するQ&A