C/C++の宿題片付けます 132代目

このエントリーをはてなブックマークに追加
432デフォルトの名無しさん
[1] 授業単元:暇なヤシ集まれ
[2] 問題文(含コード&リンク):
 最大10桁の数字列sと 10000 以下の正整数dが
 与えられたとき、sの各数字を並べ替えて出来る全
 ての数の中で、dで割り切れる数の総数を求める。

 計算例) s, d => 解
 ・ 000, 1 => 1
 ・ 1234567890, 1 => 3628800
 ・ 123434, 2 => 90
[3] 環境: C, C++ どちらでも可
[4] 期限:無期限
[5] その他の制限:
 出来る限り速いアルゴリズムでお願いします。
 総当りしか思い付きません・・・orz