这个是用函数做的,但是是错的,求大佬解答

#include<bits/stdc++.h>
using namespace  std;
int x,cnt=0,ans[99999999];
int sushu(int a)
{
    int at=a,ok=1;
    while (at)
    {
        ok=1;
        int flag=1;
        for (int i=2;i*i<=a;i++)
        {
            if (a%i==0)
            {
                flag=0;
                break;
            }
        }
        if (flag==1 && a!=1)
            ok=1;
        else 
        {
            ok=0;break;
        }
    }
    if (ok)
    {
        cnt++;
        return a;
    }   
}
int  main( ) 
{
    cin>>x;
    for (int i=1;i<=x;i++)
    {
        ans[i]=sushu(i);
    }
    cout<<cnt<<endl;;
    for (int i=1;i<=x;i++)
    {
        if (ans[i]==0)
            continue;
        cout<<ans[i]<<endl;
    }
    return 0;   
}

1 条评论

  • 1

信息

ID
1753
难度
8
分类
(无)
标签
递交数
63
已通过
9
通过率
14%
被复制
4
上传者