zoukankan      html  css  js  c++  java
  • 素因子

    Problem B: 素因子

    Time Limit: 5 Sec  Memory Limit: 128 MB
    Submit: 266  Solved: 113
    [Submit][Status][Web Board]

    Description

    我们知道,任何一个大于1的数,都可以写成多个素数的乘积,我们把这些素数叫做这个数的素因子。

    Input

    第一行为测试数据的组数N,

    以下N行,每行一个数字k(1<k<2^24)

    Output

    输出N行,每行两个数字,一个是k的最大素因子,第二个是k的素因子的个数。

    Sample Input

    3
    10
    25
    120

    Sample Output

    5 2
    
     
    #include"stdio.h"
    #include"math.h"
    inline void  read(int &p)//输入p;
    {
       char  ch;
       while(ch=getchar(),ch<'0'||ch>'9');
       p=ch-'0';
       while(ch=getchar(),ch>='0'&&ch<='9')
         p=p*10+ch-'0';      
    }
    char  prime[4205]={0};
    int num[4000],cnt=0;
    int main()
    {
       int T;
       read(T);
       int i=4;
       while(i<=4200)
          prime[i]=1,i+=2;
          for(int i=3;i<=2200;i+=2)
             if(!prime[i])
                for(int j=i*i;j<=4200;j+=i)
                  prime[j]=1;
          for(int i=2;i<=4200;++i)
               if(!prime[i])
                   num[cnt++]=i;
         while(T--)
         {
             int n;
             read(n);
             int Max=0,s=0;
             int i=0;
             int t=sqrt(n);
             for(;num[i]<=t;++i)
             {
                 if(n%num[i]==0)
                 {
                     if(num[i]>Max)
                        Max=num[i];
                     while(n%num[i]==0)
                        n/=num[i];
                        ++s;              
                 }
                 t=sqrt(n);
             }
             if(n>1)
               ++s,Max=n;
               printf("%d %d\n",Max,s);
         }
         return 0;  
    }
  • 相关阅读:
    原生JS实现日历
    重复的事情让机器来做,简化的思想
    Ext3.1的一些使用讨论
    JS使用Crypto实现AES/ECS/zero-padding加密
    一些提升效率的小知识
    一些很有意思的JS现象
    Tiny Linux -- tce-load
    python sqlalchemy mysql 自动映射
    python 反射
    python 动态导包
  • 原文地址:https://www.cnblogs.com/QQbai/p/2124762.html
Copyright © 2011-2022 走看看