编程介的小学生 2019-05-02 22:14 采纳率: 20.5%
浏览 520

通过计算的判断究竟在范围内有多少个质数的问题,怎么使用C语言的程序的编写的技术实现?

Problem Description
Easy question! Calculate how many primes between [1...n]!

Input
Each line contain one integer n(1 <= n <= 1e11).Process to end of file.

Output
For each case, output the number of primes in interval [1...n]

Sample Input
2
3
10

Sample Output
1
2
4

  • 写回答

1条回答

  • 幸福快乐着 2019-05-03 11:56
    关注

    // 注意包含的头文件应该是用尖括号,这里只是为让其能显示
    #include "stdio.h"
    #include "vector"
    using namespace std;

    int main()
    {
    vector v;
    unsigned long n;
    bool PrimeNumber; // 素数标记
    unsigned long numPrime; // 素数个数
    FILE * fp;

    fp = fopen("in.txt","r");   // 打开输入文件
    
    fscanf(fp,"%d",&n);         // 读取数据并将数据保存到vector容器中
    while(!feof(fp))
    {
        v.push_back(n);
        fscanf(fp,"%d",&n);
    }
    fclose(fp);                 // 关闭输入文件
    
    fp = fopen("out.txt","w");  // 打开输出文件
    for(long i = 0;i<v.size();i++)
    {
        fprintf(fp,"0至%d的素数:",v[i]);
        numPrime = 0;
        for (long j = 2; j <= v[i]; j++)
        {
            PrimeNumber = true;
            for (long k = 2;k<j;k++)
            {
                if(j%k==0)
                {
                    PrimeNumber = false;
                    break;
                }
            }
            if(PrimeNumber)
            {
                numPrime++;
                fprintf(fp,"%d,",j);
            }
        }
        fprintf(fp,"\r素数个数为:%d\r\r",numPrime);
    }
    fclose(fp);
    
    v.clear();
    return 0;
    

    }

    输入文件:
    2
    3
    10
    72
    83
    59
    输出文件:
    0至2的素数:2,
    素数个数为:1

    0至3的素数:2,3,
    素数个数为:2

    0至10的素数:2,3,5,7,
    素数个数为:4

    0至72的素数:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,
    素数个数为:20

    0至83的素数:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,
    素数个数为:23

    0至59的素数:2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,
    素数个数为:17

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable