とある3つの条件を全て満たす、可能な限り大きな自然数を教えて下さい。条件は下記の通りです。「条件を満たす自然数」をNと表記します。人力検索はてな人力検索はてなモバイル版を表示しています。PC版はこちらとある3つの条件を全て満たす、可能な限り大きな自然数を教えて下さい。条件は下記の通りです。「条件を満たす自然数」をNと表記します。2)N未満の素数の数が素数である。3)Nは2,147,483,647(符号付き32ビット整数の最大値)以下である。N=5の時は上記の条件を全て満たしますが、N=11は条件2を満たしません。回答には「Nを求める為のアルゴリズム」の記述を必須とします。ポイントはNの大きさに応じて傾斜配分し、同じNが2回以上回答された場合は、先着順とします。気になって質問しただけですので、お気軽に回答頂ければと思います。「1から順に総当りで求める」というアルゴリズムは除外させて頂きます。エレガントな回答をお願いします。▽1●lang_and_engine●45ポイントまず,素数を列挙して配列とする。その配列内の,「素数+1番目」の要素を返せばよい。(終わり)コメント欄で難しいことを書いてしまってごめんなさい。▽2●ヨネちゃん●10ポイントPHPで素数をリスト化しましたが、メモリが足りず2,631,000あたりまでしか走りませんでした。メモリを増やしてまたやってみます。▽3●practicalscheme●45ポイントあっさり見つかりました。いえ、実質的に「総当たり」なので回答条件を満たしているかどうかは微妙です。N=2147483579、N未満の素数の数=105097561求めた手法:2^31-1以下の素数の逆順リストを用意し、先頭から「その要素以降の要素数が素数になっているか」を調べて最初に見つかったものが答え。16GBのマシンで2分くらいでした。素数のリストを作る時間がほとんどで、探索は一瞬です。メモリの余裕があまりなかったので、上限が増えるとこの手法ではつらいですね。コメント欄にあるようにπ(x)を厳密に求めるには何らかの形でそれ以下の素数の情報をとっておくのが一番なので、大きい改善は思いつきません。定数倍の改善でしたら、「N以下の素数の数が偶数なら最初から除外できる」ことからリストを1個飛びに保存しておくとか、もう少し工夫してトリビアルな合成数番目の要素は保存しないとかできそうですが。したのでそこまで処理できませんでした。ショッピングAPIの全反映予約API、あるいは商品個別反映AP...javascriptのフォームの質問をいくつかさせてください。http://...人力かきつばた杯をやりたいのですが・・・。□はてなトップ(C)株式会社はてな。