数学问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//求a与b的最大公约数
int gcd(int b, int a)
{

if (b == 0) return a;
else return gcd(b, a%b);
}
//判断是否为素数
bool judgePrime(int n)
{

if (n <= 1) return false;
int k = (int)sqrt(n) + 1;
for (int i = 2; i<k; i++)
{
if (n%i == 0) return false
}
return true;
}
//预处理,判断10000以内的素数
for (int i = 2; i<10000; i++)
{
if (mark[i] == true) continue;
prime[primeSize++] = i;
if (i>100) continue;
for (int j = i*i; j<10000; j+=i)
{
mark[j] = true;
}
}