标题:求素数,怎样利用ss()?
只看楼主
黄粽子
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-12-20
结帖率:0
已结贴  问题点数:20 回复次数:2 
求素数,怎样利用ss()?
求100以内的全部素数,每行输出9个,素数之间空一个格子。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。要求定义和调用函数ss(m)判断m是否为素数,当m为素数时返回1,否则返回0。
搜索更多相关主题的帖子: 调用 函数 判断 返回 素数 
2021-12-20 08:55
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:10 
论坛里搜一下“素数”很多的。
2021-12-20 11:51
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
得分:10 
程序代码:
#include <stdio.h>
#include <string.h>
#define UPPER_LIMIT        100

int ss(unsigned int value)
{
    int i, j;
    static int array[UPPER_LIMIT+1]={0}, flag=1;
    if (flag)
    {
        for (i=2; i*i<UPPER_LIMIT; i++)
        {
            if (array[i] == 0)
            {
                for (j=i*i; j<=UPPER_LIMIT; j+=i)
                {
                    array[j] = 1;
                }
            }
        }
        flag = 0;
    }
    if (value < 2 || value > UPPER_LIMIT)
    {
        return 0;
    }
    return (array[value]^1);
}
void main()
{
    int i;
    for (i=0; i<100; i++)
    {
        printf("%d %d\n", i, ss(i));
    }
}
2021-12-20 13:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-507927-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.079189 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved