公子缠乡 发表于 2020-12-31 11:27:07

素数

输入二个整数a和b(2 <= a <b <1000),输出a和b之间的素数。

注意:必须使用复制筛选法。

输入
有多组数据,每组包括两个整数a和b。
输出
a和b之间的素数,每组输出一行,两个素数之间用1个空格分开,末尾不能有空格。

jackz007 发表于 2020-12-31 12:57:40

      楼主,解释一下,什么叫 "复制筛选法"?

风过无痕1989 发表于 2021-1-1 13:35:10

原来打算从今天起,不再回答问题了,但还是凑够技术值 500 吧,还差 16 个,做个完美
#include<stdio.h>
#include<math.h>
int main()
{
        int a, b, k = 0, n = 0, arr, i, j;
        scanf("%d%d", &a, &b);
       
        for (i = 0; i <= b; i++)
        {
                if (a <= b)
                {
                        arr = a;   //为数组赋初值
                        a++;
                        k++;
                }
        }

        for (i = 2; i < sqrt(b); i++)//如果需要找a-b范围内的素数,只须进行到除数为根号下n(取整数就可)
        {
                for (j = 0; j <= k; j++)
                        if (arr != 0)
                                if (arr % i == 0)
                                {
                                        arr = 0;
                                }

        }

        printf("\n");

        for (i = 0; i <= k; i++)
        {
                if (arr != 0)
                {
                        printf("%3d ", arr);
                        n++;
                }

                if (n == 10)    // 满10个换行
                {
                        printf("\n");
                        n = 0;   // 一次完成之后初始化
                }
        }
        printf("\b");   // 删除最后那个素数后面的空格
        printf("\n");

        return 0;
}

Danmoits 发表于 2021-1-1 16:15:49

风过无痕1989 发表于 2021-1-1 13:35
原来打算从今天起,不再回答问题了,但还是凑够技术值 500 吧,还差 16 个,做个完美

大佬能不能回答下我的问题...谢谢
https://fishc.com.cn/thread-187884-1-1.html

乐乐学编程 发表于 2021-1-1 19:06:24

风过无痕1989 发表于 2021-1-1 13:35
原来打算从今天起,不再回答问题了,但还是凑够技术值 500 吧,还差 16 个,做个完美

八点半到九点,我发五个题目上来,帮助你完成目标

风过无痕1989 发表于 2021-1-1 20:29:59

乐乐学编程 发表于 2021-1-1 19:06
八点半到九点,我发五个题目上来,帮助你完成目标

谢谢你!

心驰神往 发表于 2021-1-3 08:58:00

LZ问题解决了吗
页: [1]
查看完整版本: 素数