• 算法训练 Torry的困惑(基本型)


    http://lx.lanqiao.org/problem.page?gpid=T129

    算法训练 Torry的困惑(基本型)  
    时间限制:1.0s   内存限制:512.0MB
        
    问题描述
      Torry从小喜爱数学。一天,老师告诉他,像2、3、5、7……这样的数叫做质数。Torry突然想到一个问题,前10、100、1000、10000……个质数的乘积是多少呢?他把这个问题告诉老师。老师愣住了,一时回答不出来。于是Torry求助于会编程的你,请你算出前n个质数的乘积。不过,考虑到你才接触编程不久,Torry只要你算出这个数模上50000的值。
    输入格式
      仅包含一个正整数n,其中n<=100000。
    输出格式
      输出一行,即前n个质数的乘积模50000的值。
    样例输入
    1
    样例输出
    2
     
    分析:
    先打表,后遍历。
     
    AC代码:
     
     1 #include<stdio.h>
     2 #include<string.h>
     3 
     4 const int INF = 1300000;
     5 const int mod = 50000;
     6 int a[INF];
     7 
     8 int main()
     9 {
    10     int n , i , j , k ;
    11     scanf("%d",&n);
    12     memset(a , 0 , sizeof(a));
    13     a[0] = a[1] = 1;
    14     for(i = 0;i < INF;i ++)
    15     {
    16         if(a[i])
    17             continue;
    18         for(j = i + i;j < INF;j += i)
    19             a[j] = 1;
    20     }
    21     __int64 ans = 1;
    22     for(i = 0 , j = 0;i < INF && j < n;i ++)
    23         if(a[i] == 0)
    24         {
    25             ans = ((ans % mod) * (i % mod)) % mod;
    26             j ++;
    27         }
    28     printf("%I64d
    ",ans);
    29     return 0;
    30 }
    View Code
  • 相关阅读:
    [BZOJ4825][HNOI2017]单旋(线段树+Splay)
    [BZOJ4542][HNOI2016]大数(莫队)
    [LOJ6281]数列分块入门 5
    [LOJ6280]数列分块入门 4
    [LOJ6279]数列分块入门 3
    [LOJ6278]数列分块入门 2
    [LOJ6277]数列分块入门 1
    [BZOJ2120]数颜色
    [BZOJ3585]mex
    [ZJb417]区间众数
  • 原文地址:https://www.cnblogs.com/jeff-wgc/p/4450516.html
Copyright © 2020-2023  润新知