UVA294 UVALive5595 Divisors【一个区间最大正因子数】

要是感觉下面的代码不好理解,可以参考https://blog.csdn.net/qq_40679299/article/details/79948885

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<stdlib.h>
#include<string.h>
#include<vector>
#include<numeric>
#include<math.h>

#define pi acos(-1.0)

using namespace std;

typedef unsigned long long ULL;

int countfactor(int n)
{
    int sum=1;
    for(int i=2;i*i<=n;i++)
    {
        int cnt=0;
        while(n%i==0)
        {
            n/=i;
            cnt++;
        }
        sum*=(cnt+1);
    }
    if(n>1)
        sum*=2;
    return sum;
}

int main()
{
    ios::sync_with_stdio(false);cin.tie(0);

    int n;
    cin>>n;
    while(n--)
    {
        int a,b;
        cin>>a>>b;
        int maxi=0,maxs=0;
        for(int i=a;i<=b;i++)
        {
            int t=countfactor(i);
            if(t>maxs)
                maxi=i,maxs=t;
        }
        cout<<"Between "<<a<<" and "<<b<<", "<<maxi<<" has a maximum of "<<maxs<<" divisors."<<endl;
    }
    return 0;
}
阅读更多

扫码向博主提问

杨美人!

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • algorithm
  • 数据结构
去开通我的Chat快问
想对作者说点什么?
相关热词

博主推荐

换一批

没有更多推荐了,返回首页