30
10進表現が2進数のように見える、指定された数の倍数を見つける
私が遭遇している問題に興味深いと思われるコードレビューサイトで。OPは間違っていると思いますが、確信が持てません...それでは彼のために解決しましょう!(関数/手順ではなくプログラムを書く) 入力(stdinまたは類似): x10進表記の整数。1より大きく2 ^ 31未満です。 出力(stdoutまたは類似): y10進表記の整数。x * y10進表記の製品には、数字0と1のみが含まれている必要があります。0より大きい最小の数字でなければなりません。 注:出力は制限されません-最小値yが約10 ^ 100の場合、プログラムは100桁すべてを出力する必要があります(2 ^ 64などの合理的な制限があるかどうかはわかりませんy-それを解決しませんでした) )。 プログラムは、すべてのx範囲で妥当な時間(1秒?1時間?-そのようなもの)で終了するはずです。 ボーナス: あなたのプログラムは、(RAMを除く)入力の大きさに制限があり、そしてにより多項式の複雑さ、あなたのプログラムの乗算バイト数を持っていない場合は0.8ダウンとラウンド。 例:入力2; 出力5、2 * 5 = 10であるため 例:入力21; 48121 * 481 = 10101であるため、出力 免責事項:私はコードレビューサイトの質問に対して責任を負いません。矛盾がある場合は、上記の説明のみを適切な仕様と見なす必要があります。 OEIS A079339