java求100之内的素数 保存在数组中_编程实现将1~100存放在数组中,并求100之内的素数并输出...

遍历2到100之间所有整数,然后逐一判断是否为素数,如果是则存入数组。

最终遍历数组输出每个值即可。 具体如下:

1、素数的判断。

根据素数定义,除了1和本身不存在其它约数的正整数为素数。

所以在C语言中判断n是否为素数可以从2开始到到n-1逐一尝试,如果可以整除说明不是素数。

更进一步,可以从2判断到n/2或者n的算术平方根,如果不存在约数,那么即为素数。

除此以外,判断素数的算法还有素数筛等。

2、判断素数的函数:

以遍历判断约数的方法为例,函数可以编写如下:

1234567   int isPrime(int n)//判断n是否为素数,如果是则返回1,否则返回0.{    int i;    for(i = 2; i <= (int)sqrt(n); i ++)//从2到算术平方根遍历。        if(n%i == 0) return 0;//存在约数,不是素数,返回0.    return 1;//不存在约数,返回1,表示为素数。}

3、整体代码示例:

123456789101112131415161718192021222324   #include #include int isPrime(int n)//之前的函数。{    int i;    for(i = 2; i <= (int)sqrt(n); i ++)        if(n%i == 0) return 0;    return 1;}int main(){    int n;    int a[100];    int cnt=0;     for(n = 2;n<=100; n ++)//遍历2到100所有整数。        if(isPrime(n)) //判断是素数            a[cnt++] = n;//存入数组。    for(n = 0; n < cnt; n ++)//遍历存放素数的数组。        printf("%d ", a[n]);//输出。    printf("\n");         return 0;}

运行结果如下:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值