『たけしのコマネチ大学数学科』という深夜番組が面白いと知人が熱く語っていました。聞いた話によると、難しそうな数学の問題が出題されて、その問題をビートたけし、有名大学の現役学生、コマネチ大学の人が解くという番組らしいです。過去に放送された問題をいくつか聞いて持ったイメージは、答えにたどり着く自信はないけれど、平成教育委員会の数学を少しレベルアップさせた感じの問題がいっぱいあって面白そうというイメージでした。
けれど、今日2/1の深夜の放送で出題された問題を聞いたのですが、それはプログラミングすれば一瞬で解答できそうな問題だったので、何かしらの読解欲が湧いてきて、いてもたってもいられずeclipseを立ち上げた次第です。
問題
自然数を1から順番に並べた列をつくり、その列を並べた順に1桁ずつ数えていったとき、10000番目の数字は何になるか?
列:123456789101112・・
10番目は"1"
15番目は"2"
プログラム(java)
public class Komanechi { public static void main(String[] args) { StringBuilder str = new StringBuilder(); int number = 10000; for (int i = 1; str.length() <= number; i++) { str.append(i); } System.out.println(str.charAt(number - 1)); } }
解答
7
うーん、本来は考えることに意味があると思うので、モラル的にはどうかなと・・・
問題はプロジェクトオイラーに通じるようなものがあります。番組ではそんな問題がいっぱい出題されそうで、なんかおもしろそうっすね。今度見てみよう!