テーマ#0002: 似非円周率の表示

  • (by K, 2015.12.16)

基本情報

  • テーマ提示日: 2015.12.16(水)
  • プログラム例示日:
  • 発表会予定日: 調整中(おそらく平日の夕刻)
    • 会場はサイボウズ日本橋オフィス27Fを予定

背景

  • thm0001はJ言語の圧勝となり、Kはテーマ選択を間違えたと後悔していました。
  • とそこへとある方から「not PI」という競技テーマがすでにあることを教えてもらいました。
  • これは非常にくだらなくて、「3.14151617181920...」を表示せよというものです。この数値は最初の数桁が単に円周率に似ているだけで、数学的にはほぼ無価値の数値です。
  • しかし無価値だからこそ、言語によるサポートもおそらくなくて、だから公平な競争ができるのではないかと考えました。
  • ええと念のために、期待される出力をここに提示しておきます。
    3.14151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798990001020304050607080910111213
  • これは無限に続きません。最後の1213で終わる必要があり、プロンプト位置がおかしくならないように改行も出力してください。
  • 内容的には円周率よりもはるかに簡単です。したがってこのプログラムが円周率よりも長くなるようなプログラミング言語は、円周率計算向けに不自然なドーピングがあったと言えるかもしれません(笑)。

テーマ説明

  • 上記に示した円周率もどきを出力してください。今回は小数点の省略は許さないことにします。
  • ただし実行時間がかかりすぎるものは検証できないので困ります。せめてハイスペックなノートPCで10分くらいで結果が出てほしいです。
  • 内部で乱数を振って「何億分の一」の確率で正解が表示できる、みたいなものは不適とします。99%以上の確率での期待された結果の表示をお願いします。
  • プログラムは適切なところで正常終了してください。表示がとまらなくてユーザの操作によって中断しなければいけないものは不適とします。
    • 正常に終了するためにも、最後には改行コードを出力してほしいです。実行直後にプロンプト位置が乱れるかもしれないので。
  • プログラム実行時やコンパイル時に追加の情報を与えたり取得するようなものは不適とします。実行ファイルのファイル名に依存するような実装も不適合です(たとえばファイル名の一部が円周率になっていて、それを表示させるとか)。

C言語による例示

  • 後日書きます。

そのほかの特記事項

  • 今回はOSECPU-VMによるエントリは競争せずに参考程度とします。

エントリ状況

  • この欄はKが随時編集しますので、勝手に編集しないでください。エントリーしたい、自己記録を更新した、Kの書き間違いを見つけたので直して、などは、下記のこめんと欄にお願いします。
    • 何バイトを達成したか、使ったツールは何か、可能であれば発表会に出たいか、などを明記してください。
      Ruby 2.233バイト2016-01-13 (水) 22:07:29ryna
      J言語38バイト2015-12-17 (木) 14:13:00hikalium
      JavaScript45バイト2015-12-16 (水) 18:58:13hikalium
      Python47バイト2015-12-17 (木) 14:16:41hikalium
      C言語66バイト2015-12-25 (金) 14:13:28ryna

こめんと欄

  • ちなみに、上記の not_PI のサイトでは「gs2」なる言語が最強で11バイトらしいですが、OSECPU-VMのr3でもたぶん11バイトです。タイ記録です。 -- K 2015-12-16 (水) 16:00:41
  • C言語96バイトで登録します。しょぼいですが。 -- ttwilb 2015-12-16 (水) 17:35:43
  • C言語 77文字です -- ttwilb 2015-12-16 (水) 17:47:55
  • お、さっそくどうもありがとう! -- K 2015-12-16 (水) 17:52:07
  • すみません、先ほど76と報告していましたが、77の間違いでした。 -- ttwilb 2015-12-16 (水) 18:21:17
  • Javascript 45文字で登録します! -- hikalium 2015-12-16 (水) 18:58:13
  • J言語38文字で登録します! -- hikalium 2015-12-17 (木) 14:13:00
  • Python, 47文字で登録します! -- hikalium 2015-12-17 (木) 14:16:41
  • http://golf.shinh.org/l.rb?gs2 をみる限り、gs2はネタ言語のようですね -- ttwilb 2015-12-17 (木) 15:43:58
  • C言語、74文字です -- ttwilb 2015-12-17 (木) 16:09:31
  • C言語にて66バイトできました. -- ryna 2015-12-25 (金) 14:13:28
  • Ruby 2.2で33バイトが限界でした、お願いします。 -- ryna 2016-01-13 (水) 22:07:29
  • OSECPU-VMでやったらどうなるかやってみました。とりあえず適当にやってみた感じでは18バイトでした。 -- K 2017-03-07 (火) 18:29:13

コメントお名前NameLink

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-03-07 (火) 18:29:13 (951d)