用C++写,我不会写。

编写出判断一个整数是否为素数的函数,并求出在2000以内的有十个以上的所有连续的非素数组。

40题答案

img

#include <stdio.h>
int isprime(int n)
{
    for(int i=2;i*i<=n;i++)
        if(n%i==0)
            return 0;
    return 1;
}

int main()
{
    int s = -1;
    int count = 0;
    for(int i=2;i<=2000;i++)
    {
        if(isprime(i))
        {
            if(count>=10)
            {
                for(int j=s;j<s+count;j++)
                    printf("%d ",j);
                printf("\n");
            }
            count = 0;
            s=-1;
        }
        else
        {

            if(s==-1)
                s=i;
            count++;
        }
    }
    return 0;
}

请搜索 ‘判断素数’, 就可以找到很多例子。

#include<iostream> 
#include<math> 

int func(int n) 
{
    int i,k=(int)sqrt(n)+l; 
    for(i=2;i<k;i++)
    {
        if(n%i=0) break; 
        if(i==k) return 1; 
        else return 0; 
    }
        
}

int main() 
{
    int m,i,j,h=0;
    for(m=0;m<=2000;m++)
    {
        h=0;
        if(func(m) == 1)
        {
            for(i=1;;i++)
            {
                if((func(m+i)==0) && (m+i<=2000)) 
                    h++;
                else break;
            }
            m = m + i;
            if(h>=9)
            {
                for(j=i-1;j>=-1;j--)
                    cout<<m-j<<"";
                cout<<endl;
            }
        }
        else continue;
    }
    return 0;
}