埃氏筛法MLE如何解决呢?
查看原帖
埃氏筛法MLE如何解决呢?
607115
992058996qqcom楼主2021/12/26 16:20
#include <stdio.h>
#include <stdlib.h>
int book[200000000];
void prime(int b)
{
    int i,j;
    memset(book,1,sizeof(book));
    book[1]=0;
    for(i=2;i<=b;i++)
    {
        if(book[i])
        {
            for(j=2;j<=b/i;j++)
                book[i*j]=0;
        }
    }
}
int max(int a,int b)
{
    if(a>=b)
        return a;
    else
        return b;
}

int main()
{
    int n,i,j;
    scanf("%d",&n);
    prime(n);
    for(i=1;i<n;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(book[i]&&book[j]&&i*j==n&&i!=j)
                printf("%d ",max(i,j));
        }
    }
    return 0;
}

2021/12/26 16:20
加载中...