zoukankan      html  css  js  c++  java
  • 1166-数字实力

    描述

    每一个数字都有自己的实力,我们可以从不同的角度来描述数字的实力。我们做出如下定义:一个数字n的实力是它所拥有的因数个数。例如:6的实力是4 ,因为它有4个因数(1236)。 现在我们需要知道从1开始到某一个数n中,哪个数字拥有最强的实力。

    输入

    一个正整数n ( 0< n < 500000)

    输出

    两个数字msm为从1n中具有最强实力且最小的数字。sm的实力。

    样例输入

    8

    样例输出

    6 4

    #include<iostream>
    using namespace std;
    #define MAX 500000
    int prime[MAX];
    bool a[MAX];
    int cnt;
    void Initprime()//?????????
    {
        int i, j;
        cnt = 0;
        for( i=2; i<MAX; i++ )
        {
            if( a[i] == 0 )
            {
                prime[cnt++] = i;
                for( j=2*i; j<MAX; j+=i )
                    a[j] = 1;
            }
        }
    }
    int Div( int m )
    {
        int tmp,ret=1;
        for( int i=0; prime[i]*prime[i]<=m ; i++ )
        {
            if( m % prime[i] == 0 )
            {
                tmp = 0;
                while( m % prime[i] == 0 )
                {
                    tmp ++;
                    m /= prime[i];
                }
                ret = ret * ( tmp+1 );
            }
        }
        if( m != 1 )
            ret = ret * 2;
        return ret;
    }
    
    int main( )
    {
        int n,t;
        int max, ret;
        Initprime( );
            cin>>n;
            max=1;t=1;
            for( int i=1; i<=n; i++ )
            {
                ret=Div(i);
                if( ret > max )
                {
                    max = ret;t=i;
                }
            }
            cout<<t<<" "<<max<<endl; 
        return 0;
    } 
    

      

  • 相关阅读:
    SQLServer多表连接查询
    SQLServer基本查询
    SQLServer索引
    SQLServer之数据类型
    设计模式小结
    SQL跨项目查询语法
    利用CountDownLatch和Semaphore测试案例
    JUC包下Semaphore学习笔记
    JUC包下CountDownLatch学习笔记
    JUC包下CyclicBarrier学习笔记
  • 原文地址:https://www.cnblogs.com/Rosanna/p/3436985.html
Copyright © 2011-2022 走看看