數學題模板

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,還有是詩和遠方↓↓↓

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章