zoukankan      html  css  js  c++  java
  • 区间素数概率判定(高精度)

    Euler is a well-known matematician, and, among many other things, he discovered that the formula n 2 + n + 41 produces a prime for 0 ≤ n < 40. For n = 40, the formula produces 1681, which is 41 ∗ 41. Even though this formula doesn’t always produce a prime, it still produces a lot of primes. It’s known that for n ≤ 10000000, there are 47,5% of primes produced by the formula! So, you’ll write a program that will output how many primes does the formula output for a certain interval. Input Each line of input will be given two positive integer a and b such that 0 ≤ a ≤ b ≤ 10000. You must read until the end of the file. Output For each pair a, b read, you must output the percentage of prime numbers produced by the formula in this interval (a ≤ n ≤ b) rounded to two decimal digits.

    Sample Input

    0 39

    0 40

    39 40

    Sample Output

    100.00

    97.56

    50.00

    精度太坑

     1 #include<cstdio>
     2 int su[10005];
     3 int judge(int n)
     4 {
     5     int i;
     6     for(i = 2 ; i*i <= n ; i++)
     7     {
     8         if(n % i == 0)
     9         return 0;
    10     }
    11     return 1;
    12 }
    13 int main()
    14 {
    15     int i;
    16     for(i = 0 ; i <= 10005 ; i++)
    17     {
    18         su[i]=judge(i*i+i+41);
    19     }
    20     int a,b;
    21     while(scanf("%d %d",&a,&b)!=EOF)
    22     {
    23         double sum=0;
    24         for(i = a ; i <= b ; i++)
    25         {
    26             sum+=su[i];
    27         }
    28         printf("%.2f
    ",sum*1.0/(b-a+1)*100);
    29     }
    30 }
  • 相关阅读:
    GeoHash
    CMake官方教程翻译文档
    常用开源系统
    Python Tools
    CMake 笔记
    Nginx 多进程连接请求/事件分发流程分析
    连麦方案中各条流之间时间戳同步问题
    音视频重新编码时间戳同步问题
    基于网络流音视频包的音视频解码思路
    协程库st(state threads library)原理解析
  • 原文地址:https://www.cnblogs.com/yexiaozi/p/5770327.html
Copyright © 2011-2022 走看看