编程介的小学生 2018-12-04 08:54 采纳率: 18.6%
浏览 931
已采纳

反素数 ,这个问题编程的算法

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

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-03-28 10:38
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Moluth 2018-12-04 09:17
    关注

    伪代码,应该可以看懂

    y=int[5001]
    //第一步,计算5000以内所有数的因子个数,50的因子个数是y[50]
    for(int i=1;i<=5000;i++)
    口for(int j=1;j<=i;j++)
    口口if(i%j==0)y[i]+=1;

    //第二步查找区间[a,b]最大值,下面提高效率最低的查找o(n)
    n=read(n);
    for(i=0; i<n ; i++ ) {

    口a=read(a);
    口b=read(b);
    口maxindex=b;
    口for(int j=b-1;j>=a;j--){
    口口if(y[maxindex]<y[j])maxindex=j;
    口print(maxindex);

    }

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 shopify网站提速
  • ¥15 深海控制器DSE7320MKII和博世ECU间can通讯知识
  • ¥15 Ru的复折射率用于FDTD 200nm到1200nm
  • ¥15 使用Fiddler抓包,textview的乱码如何解决
  • ¥50 trio连接驱动器报错
  • ¥15 有谁懂nhanes的权重计算啊
  • ¥15 欧姆龙PLC 电机控制 限位
  • ¥30 如何处理shell命令接收到的视频流并实时播放出来
  • ¥15 虚心请教C#的代码优化问题
  • ¥15 有偿求做台风过境全过程模拟仿真