zoukankan      html  css  js  c++  java
  • ny520 最大素因子 筛选法求素数

    最大素因子
    时间限制:1000 ms  |  内存限制:65535 KB
    难度:2

    描述

        GreyAnts最近正在学习数论中的素数,但是现在他遇到了一个难题:给定一个整数n,要求我们求出n的最大素因子的序数,例如:2的序数是1,3的序数是2,5的序数是3,以此类推. 研究数论是需要很大的耐心的,为了惩罚那些没有耐心读完题目的童鞋,我们规定:1的最大素因子序数是0.

    输入
        有多组测试数据,每一行输入一个数字n.(0<n<=1000000)
    输出
        在接下来的一行,输出结果.
    样例输入

        1
        2
        3
        4
        5

    样例输出

        0
        1
        2
        1
        3

     1 #include<stdio.h>
     2 #include<string.h>
     3 int v[1000000+10];
     4 
     5 int main()
     6 {
     7 int i,j,k,n,tot;
     8 memset(v,0,sizeof(v));//值为0则是素数
     9 v[1]=0;
    10 tot=0;
    11 for(i=2;i<=1000000;i++)
    12 if(!v[i])
    13 {
    14 v[i]=++tot; //v[i]:第(++tot)个素数
    15 for(j=2;i*j<=1000000;j++) v[i*j]=v[i];
    16 }
    17 
    18 while(scanf("%d",&n)!=EOF)
    19 {
    20 printf("%d
    ",v[n]);
    21 }
    22 return 0;
    23 }
  • 相关阅读:
    KKT条件原理
    拉格朗日乘子法
    Java volatile详解
    Java重排序
    Java Socket NIO入门
    Java Socket入门
    TCP三次握手,四次挥手
    Java NIO详解
    cobbler批量安装系统
    nginx详解反向代理,负载均衡,LNMP架构上线动态网站
  • 原文地址:https://www.cnblogs.com/lovychen/p/3183568.html
Copyright © 2011-2022 走看看