优化一下?
  • 板块学术版
  • 楼主Supa7onyz
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/10 22:11
  • 上次更新2024/11/11 12:56:27
查看原帖
优化一下?
1095806
Supa7onyz楼主2024/11/10 22:11

求出第n个质数

#include <iostream>
#include <math.h>
#include <unistd.h>
#define int long double
int fac(int x){
    int t=1;
    for (int i=2;i<=x;i++){
        t*=i;
    }
    return t;
}
using namespace std;
signed main()
{
    for (int x=1;;x++,usleep(100000)){
        int cnt=0;
        cnt+=2;
        for (int k=2;k<=2+floor(2*x*log(x));k++){
            int cnt1=0;
            for (int j=2;j<=k;j++){
                cnt1+=floor((1+fac(j-1)-j*floor(fac(j-1)/j))/j);
            }
            cnt1/=x;
            cnt1=floor(cnt1);
            cnt1-=1;
            cnt1=-cnt1;
            cnt+=cnt1;
        }
        cout<<cnt<<endl;
    }
}
2024/11/10 22:11
加载中...