1 solutions

  • 0
    @ 2025-11-5 15:16:33

    C :

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
        int i,a,b,m,flag;
        scanf("%d",&m);
        for(i=2;i<=m;i++)
        {
            flag=1;
            a=sqrt(i);
            for(b=2;b<=a;b++)
            {
                if(i%b==0)
                {
                    flag=0;
                    break;
                }
            }
            if(flag==1)
            printf("%d\n",i);
        }    
      return 0;
    }
    
    

    C++ :

    #include<iostream>
    #include<cmath>
    using namespace std;
    int a[10000];
    int main()
    {
    	int n;
    	cin>>n;
    	int t=sqrt(n);
    	for (int i=1; i<=n; i++) a[i]=1;
    	for (int i=2; i<=t; i++)	//筛选法求素数表
    		if (a[i])
    			for (int j=2*i; j<=n; j+=i) a[j]=0;
    	for (int i=2; i<=n; i++)
    		if (a[i]) cout<<i<<endl;
    	return 0;
    }
    
    • 1

    C语言程序设计教程(第三版)课后习题7.1

    Information

    ID
    16596
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By