编写函数long fun(int high,int n),功能是:计算并返回high以内(不包含high)最大的n个素数之和。若不足n个,则到最小素数2为止。例如:若high=100,n=10,则函数

long fun(int high,int n)
{
    
    
    int i,j,count=0,sum=0;
    int q=sqrt(high);
    for (i=high-1;i>=2;i--)
    {
    
    
        for (j=q;j>1;j--)
        {
    
    
            if (i%j==0 && i>j)//注意,&&后面的条件,负责会把素因子漏掉
             break;
        }
        if (j<=1)
        {
    
    
            sum+=i;
            count++;
        }
        
        if (count==n)
         break;

    }

    return sum;

}

int main()
{
    
    
    int high,n;
    scanf("%d %d",&high,&n);
    printf("%d\n",fun(high,n));
}

猜你喜欢

转载自blog.csdn.net/weixin_44517301/article/details/109103147