素数生成するだけのプログラムです。
なんか面白いのでメモメモ。
exeも置いときます。 → prime_gen.exe
コマンドラインで叩くと使えます。↓
prime_gen.exe 1000
ファイルに出力したければ
prime_gen.exe 1000 > output.txt
/************************************************************
prime gen.exe
************************************************************/
#include <iostream>
#include <vector>
int main(int argc, char* argv[])
{
std::vector<unsigned long long int> prime_ls;
unsigned long long int target;
unsigned long long int distp = 3;
prime_ls.push_back(2);
if(argc < 2)
{
std::cout << "please input target" << std::endl;
return 0;
}
target = atoi(argv[1]);
unsigned long long int cnt = target - distp;
for (; cnt > 0; cnt--)
{
for (unsigned long long int cmpp = 0; prime_ls.size() > cmpp; cmpp++)
{
if (distp % prime_ls[cmpp])
{
if (prime_ls.size() - 1 == cmpp)
{
prime_ls.push_back(distp);
break;
}
} else
{
break;
}
}
distp++;
}
for (unsigned int cnt = 0; prime_ls.size() > cnt; cnt++)
{
std::cout << "{" << cnt + 1 << " " << prime_ls[cnt] << "}, ";
}
return 0;
}