通过这两周数论知识的学习,掌握了不少数论知识,掌握了很多数问题的求解方法。
首先是辗转相除求最大公约数的简便算法:
long long gcd( long long a, long long b)
{
return (a%b!=0?(gcd(b,a%b)):b);
}
还有筛素数算法
int c[1000003];//0表示素数 1为非素数
void shai()
{
c[0]=c[1]=1;
int i,j;
for(i=2;i<=1000000;++i)
{
if(c[i]==0)<