• 最大因子数(铭记)


    最大因子数

    Time Limit : 10000/5000ms (Java/Other)   Memory Limit : 65535/65535K (Java/Other)
    Total Submission(s) : 35   Accepted Submission(s) : 16

    Font: Times New Roman | Verdana | Georgia

    Font Size:

    Problem Description

    定义f(n)为整数n的因子数,如f(9) = 3(分别是1,3,9).
    定义g(n)=k,整数k是满足f(k) = max{f(i)|0<i<=n}的最小整数,现在给出n让你求g(n).

    Input

    首先输入一个整数t(t<=10^5)表示测试数据的组数。
    接下来t行测试数据每行为一个正整数ai(ai<=10^7)表示要你求g(ai).

    Output

    对于每个测试数据输出g(ai).

    Sample Input

    5
    1
    2
    3
    4
    5
    

    Sample Output

    1
    2
    2
    4
    4
    

    Author

    jxust_acm

    Source

    xianbin5
    // 求1~ai范围内因子最多的那个数,有多个的话求最小的那个
    //筛选法求因子数量
    //昨天就没想到这方法、不过写出来在我自己电脑里跑了7-8秒、看来我的电脑配置、

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    #include <cmath>
    #define N 10000001
    using namespace std;
    int dp[N];
    void del()
    {
        int i,j;
        for(i=2;i<=5000000;i++)
          for(j=i;j<N;j+=i)
            dp[j]++;
        int index=1,max=0;dp[1]=1;
        for(i=2;i<N;i++)
        {
            if(dp[i]>max)
            {
                max=dp[i];
                dp[i]=i;
                index=i;
            }
            else
            {
                dp[i]=index;
            }
        }
    }
    int main()
    {
        del();
        int t,n;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            printf("%d\n",dp[n]);
        }
        return 0;
    }

  • 相关阅读:
    svn:ignore 设置忽略文件
    Css让文字自适应Table宽度[转]
    自学python笔记
    java代码中添加log4j日志
    maven多模块项目搭建
    js || 与&&
    java内存溢出和tomcat内存配置
    xsl:for-each中引用循环外全局变量
    quartz启动两次(tomcat)
    pymysql简单封装
  • 原文地址:https://www.cnblogs.com/372465774y/p/2606012.html
Copyright © 2020-2023  润新知