#include <stdio.h>
#include <math.h>
#define SWAP(x, y) x += y; y = x - y; x = x - y;
/*
* 函数介绍:判断一个数是否是素数
* 参数:int(i)
* 返回值:bool
* 备注:i是素数, 返回true
* i不是素数, 返回false
*/
bool isPrime(int i)
{
if(i < 2)
return false;
if(2 == i)
return true;
if(!(i & 1))
return false;
int n, m;
m = (int)sqrt(i);
for(n = 2; n <= m; ++n)
{
if(0 == i % n)
return false;
}
return true;
}
/*
* 函数介绍:打印素数表
* 参数:int(low_in), int(high_in)
* 返回值:void
* 备注:求出low_in到hight_in之间的素数并打印出来
*/
void printPrimes(int low_in, int high_in)
{
int i;
for(i = low_in; i <= high_in; ++i)
{
if(isPrime((i)))
printf("%d ", i);
}
printf("\n");
}
/*
* 函数介绍:求两数的最大公约数(辗转相除法)
* 参数:int(a), int(b)
* 返回值:int
* 备注:求出a和b的最大公约数并返回结果
*/
int gcd(int a, int b)
{
if(a > b)
{
SWAP(a, b);
}
int tmp = a % b;
while(tmp)
{
a = b;
b = tmp;
tmp = a % b;
}
return b;
}
int main(int argc, char *argv[])
{
printPrimes(100, 1000);
//printf("%d\n", gcd(11, 55));
return 0;
}
#include <math.h>
#define SWAP(x, y) x += y; y = x - y; x = x - y;
/*
* 函数介绍:判断一个数是否是素数
* 参数:int(i)
* 返回值:bool
* 备注:i是素数, 返回true
* i不是素数, 返回false
*/
bool isPrime(int i)
{
if(i < 2)
return false;
if(2 == i)
return true;
if(!(i & 1))
return false;
int n, m;
m = (int)sqrt(i);
for(n = 2; n <= m; ++n)
{
if(0 == i % n)
return false;
}
return true;
}
/*
* 函数介绍:打印素数表
* 参数:int(low_in), int(high_in)
* 返回值:void
* 备注:求出low_in到hight_in之间的素数并打印出来
*/
void printPrimes(int low_in, int high_in)
{
int i;
for(i = low_in; i <= high_in; ++i)
{
if(isPrime((i)))
printf("%d ", i);
}
printf("\n");
}
/*
* 函数介绍:求两数的最大公约数(辗转相除法)
* 参数:int(a), int(b)
* 返回值:int
* 备注:求出a和b的最大公约数并返回结果
*/
int gcd(int a, int b)
{
if(a > b)
{
SWAP(a, b);
}
int tmp = a % b;
while(tmp)
{
a = b;
b = tmp;
tmp = a % b;
}
return b;
}
int main(int argc, char *argv[])
{
printPrimes(100, 1000);
//printf("%d\n", gcd(11, 55));
return 0;
}