1.素數的判斷
bool isPrime(int n)
{
if(n<2)
return false;
int i;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
return false;
}
}
return true;
}
一定要考慮素數一定是大於等於2的,小於2的不是素數。
2.求兩個數的最大公因數(輾轉相除法)
int gcd(int a,int b)
{
if(b==0)
{
return a;
}
else
{
return gcd(b,a%b);
}
}
3.求兩個數的最小公倍數
求a和b的最小公倍數時,先求出a和b的最大公約數c,a*b/c就是a和b的最小公倍數。考慮到a*b有可能數太大了會溢出,最好寫成a/c*b。
int lcm(int a,int b)
{
int c=gcd(a,b);
return a/c*b;
}
歡迎大家關注/訂閱我的微信公衆號Code Art Online,我會在我的公衆號分享個人見聞,發現生活趣味;這裏不僅有0和1,還有是詩和遠方↓↓↓