1 条题解

  • 0
    @ 2025-4-12 22:06:18

    C :

    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    char prime[1000000]={0};
    int main()
    {	
        int i,n,j,num=0;
        scanf("%d",&n);
        for(i=2;i<=sqrt(n)+1;i++)
        {
    		for(j=i+i;j<=n;j+=i) prime[j]=1;
        }
        prime[1]=1;prime[2]=0;
        for(i=1;i<=n;i++) 
    		if(prime[i]==0) num++;
        printf("%d",num);
    	return 0;
    }
    

    C++ :

    #include<cstdio>
    #include<cmath>
    using namespace std;
    int panduan(int x)
    {
    	if(x<=1)return 0;
    	for(int i=2;i<=sqrt(x);i++)
    	{
    		if(x%i==0)return 0;
    	}
    	return 1;
    }
    int main()
    {
    	int n,i,s=0;
    	scanf("%d",&n);
    	for(i=1;i<=n;i++)
    	{
    		if(panduan(i)==1)s++;
    	}
    	printf("%d",s);
    	return 0; 
    }
    

    Pascal :

    var
    n,s,i:integer;
    function fun(a:integer):boolean;
    var i,j,k:integer;
    begin
      fun:=false; k:=0;
      if (a=2)or (a=3) then
      begin
        fun:=true;
        exit;
      end;
      for i:=2 to trunc(sqrt(a)) do
        if  a mod i=0 then
        begin
          k:=1;
          exit;
        end;
        if k=0 then
          fun:=true;
    
    end;
    
    begin
      readln(n);
      for i:=2 to n do
        if fun(i) then
          s:=s+1;
          writeln(s);
    end.
    
    
    • 1

    第六章:函数的使用《练习3:计算素数个数》

    信息

    ID
    2934
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者