ビットと型変換はよく悩ませてくれます。今回も謎の問題をいろいろな言語で解いてみます。
問題

翻訳

5から始めた場合、バイナリ表現101に変換
それを英語 "one zero one"として綴り、
その文字数10が次の数になります。
最大の問題点、計算量に特大あり!
制約
1≦n≦10 ^ 18
1≦開始≦10 ^ 18
実際こんな数値があります。
start n
99999999999999999 99999999999999999
途方もない数値がなければ解答は数行

慣れている言語にしておこうとPython3。
実際は99999999999999999回計算はない、
循環するはず。それを探します。

解いてみると言語の基礎てんこもり。
(変数、配列、繰り返し、条件分岐、関数、数値変換など)
いろいろな言語で解く謎チャレンジをしなければ。
ところが...フランスのZexionさんの解答例がすばらしすぎて方針転換です。
Zexionさんの解答

ちなみに
start n
99999999999999999 99999999999999999
プログラムで求める結果は18です。
18はバイナリで表すと10010
10010は one zero zero one zeroと18文字
18の次世代は18となり循環判定は不要。
かなり楽になったつもりだったのですが罠が待ち受けていました。
PHP 2:12

Perl 2:32
文字列の中の特定文字のカウントが大変。
正規表現というもの使ってます。
ネットの情報も間違え率が高かったです。

Java 2:43

JavaScript 3:10

VBの前にKotlin、Dart、Scalaに挑みましたが数値からバイナリ変換の情報がみつからず一旦断念。
VB.NET 4:20

一晩寝て自前で計算する関数を作成。
Kotlin 12:01

Dart 12:34

Scala 13:10
Scalaのfor文でlong型のデータが使えません。そこで別のアプローチをしています。
breakを使い方も独特。

中国のthirstycrowさんの解答
こうやってJavaを呼び出すんですね。

ロシアのSmoothさんの解答
scalaでのよりよい解答なんだと思います。
13と18が収束する値のようです。

しかし6行ってすごいな。
問題

翻訳

5から始めた場合、バイナリ表現101に変換
それを英語 "one zero one"として綴り、
その文字数10が次の数になります。
最大の問題点、計算量に特大あり!
制約
1≦n≦10 ^ 18
1≦開始≦10 ^ 18
実際こんな数値があります。
start n
99999999999999999 99999999999999999
途方もない数値がなければ解答は数行

慣れている言語にしておこうとPython3。
実際は99999999999999999回計算はない、
循環するはず。それを探します。

解いてみると言語の基礎てんこもり。
(変数、配列、繰り返し、条件分岐、関数、数値変換など)
いろいろな言語で解く謎チャレンジをしなければ。
ところが...フランスのZexionさんの解答例がすばらしすぎて方針転換です。
Zexionさんの解答

ちなみに
start n
99999999999999999 99999999999999999
プログラムで求める結果は18です。
18はバイナリで表すと10010
10010は one zero zero one zeroと18文字
18の次世代は18となり循環判定は不要。
かなり楽になったつもりだったのですが罠が待ち受けていました。
PHP 2:12

Perl 2:32
文字列の中の特定文字のカウントが大変。
正規表現というもの使ってます。
ネットの情報も間違え率が高かったです。

Java 2:43

JavaScript 3:10

VBの前にKotlin、Dart、Scalaに挑みましたが数値からバイナリ変換の情報がみつからず一旦断念。
VB.NET 4:20

一晩寝て自前で計算する関数を作成。
Kotlin 12:01

Dart 12:34

Scala 13:10
Scalaのfor文でlong型のデータが使えません。そこで別のアプローチをしています。
breakを使い方も独特。

中国のthirstycrowさんの解答
こうやってJavaを呼び出すんですね。

ロシアのSmoothさんの解答
scalaでのよりよい解答なんだと思います。
13と18が収束する値のようです。

しかし6行ってすごいな。