・MAX以下の素数をvectorにつめこむ
vector<int> prime;
bool isntprime[MAX+1];
isntprime[0] = isntprime[1] = true;
int j;
for(int i=2;i<= MAX;i++)if(!isntprime[i])for(prime.push_back(i),j=2*i;j<=MAX;j+=i)isntprime[j] = true;
・最大公約数、最小公倍数
#include
最大公約数 : __gcd(a,b)
最小公倍数 : a/__gcd(a,b)*b