「3の倍数と3が付く数字でアホ」ナベアツのロジックを実装して30万問題を確かめる

2026年7月、Xで「数え続ける世界のナベアツbot」が話題になった。世界のナベアツ(現・落語家の桂三度)の「3の倍数と3が付く数字のときだけアホになる」ネタを、1から延々と数えて再現するbotだ。投稿数が30万に到達し、「そこから約17年ずっとアホが続く」と言われてトレンド入りした。この「なぜ30万台でアホが続くのか」は、実装して数えれば一瞬で腑に落ちる。

ルールを定義する

アホになる条件は2つのORだ。

  1. 3の倍数である(n % 3 == 0
  2. 十進表記に数字の3を含む'3' in str(n)

30万台(300000〜399999)は先頭の桁が必ず 3 なので、条件2により6桁のあいだ全部アホになる。これが「30万に入ると長期間アホ」の正体だ。1日あたりの投稿ペースが分かれば、10万件を数え切る年数も概算できる。

実際に試す

前提: Python 3.8以上(標準ライブラリのみ)。次を nabeatsu.py として保存する。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def is_aho(n: int) -> bool:
"""3の倍数、または十進表記に3を含むならTrue(アホ)"""
return n % 3 == 0 or '3' in str(n)

def say(n: int) -> str:
return f"{n}(アホ)" if is_aho(n) else str(n)

if __name__ == "__main__":
# 1〜20を数える
print(" ".join(say(n) for n in range(1, 21)))

# 30万台が本当に「全部アホ」かを検証
block = range(300000, 400000)
aho = sum(1 for n in block if is_aho(n))
print(f"300000〜399999 のうちアホ: {aho} / {len(block)}")

# 1日あたりの投稿ペースからアホ継続年数を概算
per_day = 48 # 例: 30分ごと=1日48件
years = 100000 / per_day / 365
print(f"10万件を {per_day}件/日 で数えると約 {years:.1f} 年")

実行結果は次のようになる。

1
2
3
4
$ python3 nabeatsu.py
1 2 3(アホ) 4 5 6(アホ) 7 8 9(アホ) 10 11 12(アホ) 13(アホ) 14 15(アホ) 16 17 18(アホ) 19 20
300000〜399999 のうちアホ: 100000 / 100000
約 5.7 年

30万台は10万件すべてがアホ100000 / 100000)だと確認できる。投稿ペースを速めれば継続年数は短く、遅ければ長くなる。「約17年」という数字は、より遅いペース(1日十数件程度)を前提にした概算というわけだ。per_day を変えて自分で確かめられる。

ブラウザでも動かす

同じロジックはJavaScriptでもそのまま書ける。ページに貼れば動く。

1
2
3
4
const isAho = n => n % 3 === 0 || String(n).includes('3');
const seq = Array.from({ length: 20 }, (_, i) => i + 1)
.map(n => (isAho(n) ? `${n}(アホ)` : `${n}`));
console.log(seq.join(' '));

ネタの面白さは「単純なルールの積み重ねが、桁の性質でまとめて効いてくる」点にある。'3' in str(n) という一行が、30万台で6桁ぶんまとめてアホを生む。言葉の由来や経緯は「はやりことばじてん」にまとめているので、背景と合わせて楽しんでほしい。


「3の倍数と3が付く数字でアホ」ナベアツのロジックを実装して30万問題を確かめる
https://blog.hashito.biz/2026/07/13/nabeatsu-bot-multiples-of-three-implementation/
著者
hashito
作成日
2026年7月13日
著作権