最多約數問題

最多約數問題。正整數的約數是能整除x的正整數,其約數的個數記爲div(x),例如div(10)=4。設a 和b 是兩個正整數,找出a 和b 之間約數個數最多的數的約數個數。

樣例輸入:

  136

樣例輸出:

  9

#include<stdio.h>
#include<math.h>
#include<iostream>
using namespace std;

int isprime(int n)
{
    for(int i=2;i<(n/2)+1;i++)
    {
        if(n%i==0)
        {
            return 0;
        }
    }
    return 1;
}
int main()
{
    int a,b,temp;
    int cnt=0,mx=-1;
    cin>>a>>b;

    for(int i=a;i<=b;i++)
    {
        temp=i;
        int result=1;
        for(int j=2;j<i;j++)
        {
            if(isprime(j))
            {
                cnt=0;
                while(temp%j==0)
                {
                    cnt++;
                    temp/=j;
                }
                 result*=cnt+1;
            }
        }
        if(result>mx)
        {
            mx=result;
        }
    }
    cout<<mx;
    return 0;
}

 

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