本文主要是介绍hdoj 2521 反素数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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): 4145 Accepted Submission(s): 2399 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
Sample Output
|
#include<stdio.h>
int c[10000];
int main()
{
int i,j,k;
for(i=1,c[0]=0;i<=10000;i++)//暴力打表,打出1~10000的因子个数
{
for(j=1;j<=i;j++)
if(i%j==0)
c[i]+=1;
}
// for(i=1,j=1;i<300;i++)
// printf("%d#%d\n",c[i],j++);
int N,a,b,n;
scanf("%d",&N);
while(N--)
{
scanf("%d %d",&a,&b);
for(i=a,n=0,j=a;i<=b;i++)
if(c[i]>n)
{
n=c[i];
j=i;
}
printf("%d\n",j);
}
//while(1);
return 0;
}
这篇关于hdoj 2521 反素数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!