UVA

来源:互联网 发布:wifi无线鼠标软件 编辑:程序博客网 时间:2024/05/13 00:18
#include<bits/stdc++.h>using namespace std;const int maxn = 40000;int a[maxn],b[maxn];int sss(int t, int n){    int sum = 1,tt;    for(int i = 0; i < n; i++)    {        tt = 1;        if(t%b[i] == 0)            while(t % b[i] == 0)        {            t /= b[i];            tt++;        }        sum *= tt;    }    return sum;}int main(){    fill(a, a + maxn, 1);    for(int i = 2;i <= 20000; i++)    {        for(int j = 2*i ; j <= maxn; j += i)                    a[j] = 0;    }    int count_n = 0;    for(int i = 2; i<= maxn; i++)        if(a[i])            b[count_n++] = i;    int t ;    cin >> t;    while(t--)    {        int p, q;        cin >> p >> q;        int sum = 0, chucun = 0;;        for(int i = p; i <= q; i++)        {                int w = sss(i, count_n);           if(sum < w)              {                  sum = w;                chucun = i;              }        }        printf("Between %d and %d, %d has a maximum of %d divisors.\n",p, q,chucun ,sum);    }    return 0;}

0 0
原创粉丝点击