hdu 2521

原创 2015年07月10日 15:49:07

http://acm.hdu.edu.cn/showproblem.php?pid=2521

反素数

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4833    Accepted Submission(s): 2842


Problem Description
反素数就是满足对于任意i(0<i<x),都有g(i)<g(x),(g(x)是x的因子个数),则x为一个反素数。现在给你一个整数区间[a,b],请你求出该区间的x使g(x)最大。
 

Input
第一行输入n,接下来n行测试数据
输入包括a,b, 1<=a<=b<=5000,表示闭区间[a,b].
 

Output
输出为一个整数,为该区间因子最多的数.如果满足条件有多个,则输出其中最小的数.
 

Sample Input
3 2 3 1 10 47 359
 

Sample Output
2 6 240
Hint
2的因子为:1 2 10的因子为:1 2 5 10
#include <iostream>
#include <string.h>
using namespace std;
int prime[1000],f[5005];
bool isprime[5005];
int k;
void get_prime()
{
  fill(isprime,isprime+5000,true);
  long long i,j;
  isprime[1]=false;
  k=0;
  for( i=2;i<=5000;i++){
    if(isprime[i]){
    prime[k++]=i;
    for(j=i*i;j<=5000;j+=i)
    isprime[j]=false;
    }
  }
}
int g(int n)
{
    int a[1000];
    memset(a,0,sizeof(a));
    int o=0;
   for(int i=0;i<=k&&i*i<n;i++)
   {
       while(n%prime[i]==0)
       {
           n=n/prime[i];
           a[o]++;
       }
       o++;
   }
   if(n>1)
   a[o++]=1;
   int ans=1;
   for(int i=0;i<o;i++)
   {
       ans*=(a[i]+1);
   }
   return ans;
}
void get_f()
{
    f[1]=1;
    for(int i=2;i<=5000;i++)
        f[i]=g(i);
}
int main()
{


    int a,b,t,maxans,ans;
    cin>>t;
    get_prime();
    get_f();
    while(t--)
     {
         maxans=-3;
         cin>>a>>b;
         ans=1;
         for(int i=a;i<=b;i++)
         {
             if(maxans<f[i])
             {
                 maxans=f[i];
                 ans=i;
             }


         }
         cout<<ans<<endl;
     }
   // cout << "Hello world!" << endl;
    return 0;

}

版权声明:本文为博主原创文章,转载注明出处。 举报

相关文章推荐

HDU 2521 反素数【打表】

反素数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm...

SSL 2521 数数

ssl 2521

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

cogs 2521. 首遇lancer

2521. 首遇lancer ★☆   输入文件:lancer.in   输出文件:lancer.out   简单对比 时间限制:1 s   内存限制:256 MB 【题目背景】 ...

EOJ 2521 深度优先搜索

题意理解了很久。大意就是找到一个最高的点,高度为h,这个点周围的点中高度小于等于h的点都能被监视到。同样的与周围的点相邻的点中,如果高度比周围的点的高度还要小,那些点也能够被最高的点监视到。也就是视角...

【bzoj 2521】 [Shoi2010] 最小生成树(网络流最小割)

云卷云舒一骑天涯行,且歌且醉仗剑笑苍穹

杭电 2521 反素数 (素数打表 还有欧拉函数)

#include #include int a[5050]; int main() {     int i,count,j;     int n,m,b;     int max;     int k...

BZOJ 2521: [Shoi2010]最小生成树&&2229: [Zjoi2011]最小割

相当于重点练了一下最小割的知识 ------------------------------------------------ 2229: [Zjoi2011]最小割 首先有个结论是这些点...

hdu 1028 Ignatius and the Princess III

就是整数拆分,直接用模板即可。 //1398 16:07 #include using namespace std; const int iNum=125; int c1[iNum],c2[iNum...
  • jjike
  • jjike
  • 2013-02-16 16:09
  • 320

hdu 1052 Tian Ji -- The Horse Racing

贪心思路:田忌要用最小的代价(最慢的马)输一场比赛,而要耗费掉齐王最大的资源;齐王用最大的代价赢田忌,以最大的代价输田忌。 先把田忌和国王的马排序。 每次取田忌的最快的马与国王最快的马比较,有三种...
  • jjike
  • jjike
  • 2013-02-05 13:46
  • 715

hdu 1010 Tempter of the Bone

经典的深搜,要注意剪枝,不然会TLE。剪枝有三类:1. 起点到终点的距离必须>t。 2. t > 所有非障碍数。 3.  起点与终点距离的奇偶性要与时间t一致。 因为输入有问题,导致WA了N久,郁闷!...
  • jjike
  • jjike
  • 2013-01-02 16:39
  • 265
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)