たぶんこれでいいと思うんですが。「ルックアップテーブルを使用せずに」というのは事前に素数表を用意するのはなし、って意味ですよね?
シンプルな問いほど悩めることが隠れてますね・・・。
入力された数値に一番近い素数、ということで入力数値より大きい場合の素数も出しました。そのため、複数存在するような場合もカンマ区切りで出しています(6のときは、5と7が一番近い素数です)
入力数値が1以下の場合は常に2というのがロジックでうまく表現できなかったので例外処理にしてしまいました(業務でやるなら楽な方で・・・)。
Kajitaniさん、さすがです。最も近い素数の意味、気が付きませんでした。なるほどです。
与えられた数字より大きくて最も近い素数・・・を求めるのはどうすればいいか悩みましたが、与えられた数X2までチェックすることにしました。
10000くらいになると激重です
#35で作ったマクロを再利用しました。
処理効率は改善の余地があります。
投稿します。