永发信息网

在计蒜客学习时被一道练习题卡住了,做不出来就不能学习后面的内容,大家帮帮我,贡献下C语言代码吧

答案:2  悬赏:50  手机版
解决时间 2021-04-01 03:45
  • 提问者网友:鼻尖触碰
  • 2021-03-31 20:20
在计蒜客学习时被一道练习题卡住了,做不出来就不能学习后面的内容,大家帮帮我,贡献下C语言代码吧
最佳答案
  • 五星知识达人网友:撞了怀
  • 2021-03-31 21:02
#include 
#include 
#include 

typedef char BOOL;
#define TRUE  1
#define FALSE 0
void prime(BOOL * array, int n)
{
    int i, j, sqrMax;
    for(i = 2; i < n; i++)
    {
        if(i == 2 || i == 3) {array[i] = TRUE; continue;}
        if(i<16) sqrMax = i - 1;
        else     sqrMax = (int)(sqrt(i)); // 浮点数运算比较耗时
        array[i] = TRUE;
        for(j = 2; j <= sqrMax; j++) if(i % j == 0) {array[i] = FALSE; break;}
    }
}
int main()
{
    BOOL * array;
    int i, n;
    scanf("%d", &n);
    array = (BOOL *)malloc(n * sizeof(BOOL));
    prime(array, n);
    for(i = 2; i < n; i++) if(array[i]) printf("%d ", i);
    printf("
");
    free(array);
    return 0;
}追问哇,貌似可以啊。兄贵,谢谢,我先提交一下,看能不能通过。通过了好评就给你,过不了嘛...也会给你的追答过去了没有呀追问测试过了,但是提交失败。提示网络错误,无法提交,可能是网站问题吧,总之谢谢了!我以为这个问题会沉呢在?提交后显示代码是对的,但是输出格式有问题
这要怎么办呢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯