階乗のジェネレータ。これで良いと思います。電卓でチェックしてみましたが、最後の数値でエラーになりました。10桁電卓です。だいぶ昔になりますが、Pieの2万桁をやってみたことがあります。ネタ本はありです。高精度計算をしたので、VBでしたが1語のIntegerで表せる数値を9999までに限定して後は筆算と同じ理屈です。人なら一桁が一個の数値ですが、パソコンでは一個の数値が9999まで表示できる。そんなことしなくて良いんです。多分ですが。その後BigNumとかの数値を表せて、VBでも高精度計算をしなくても良くなったように思います。
多分このジェネレータもどこまでも、数値を発生させるんでしょうね。オーバーフロー無しで。
gen_PrimNumberはジェネレータなので、printしてはいけないですよね。訂正です。