次の条件を双方とも満たす整数が存在することを証明しなさい。
1.1987を約数として持つ
2.十進法表記で、0と1だけ登場する
例によってコマ大方式でとにかく(PCで)やってみる
次の条件を双方とも満たす整数が存在することを証明しなさい。
1.1987を約数として持つ
2.十進法表記で、0と1だけ登場する
let inline ret() = (# "ret" #)
type System.Int32 with
member n.toString() = n.ToString()
member n.toString(radix:int) =
let table = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
if n >= radix then
(n / radix).toString(radix) ^ string table.[n % radix]
else
string table.[n]
(*
次の条件を双方とも満たす整数が存在することを証明しなさい。
1.1987を約数として持つ
2.十進法表記で、0と1だけ登場する
*)
let main() =
for i=1 to System.Int32.MaxValue do
let v = Math.BigInt.Parse <| i.toString(2)
if v % 1987I = Math.BigInt.Zero then
printfn "%A" v
ret()
do main()
//result
//101000110111I