编写一个Prime()函数,判断一个整数是否为素数,如果为素数,则返回1,否则返回0,在主函数中调用此函数找出100—1000之间的所有素数。

#include<stdio.h>
#define N 100
#define M 1000
int Prime(int x)
{
    int y,i,j,a=0;
    for(i=1;i<=x;i++)
    for(j=1;j<=x;j++)
    {
        if(i*j==x)
        a++;
    }
    if(a>2)
    y=0;
    else
    y=1;
    return y;
}
int main()
{
     int a;
     for(a=N;a>=N&&a<=M;a++)
     {
         if(Prime(a)==1)
         printf("%4d",a);
     }
     return 0;
}

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是函数的代码实现: ```python def is_prime(n): if n < 2: # 2以下的整数不是素数 return 0 for i in range(2, int(n**0.5)+1): # 判断范围为[2,sqrt(n)] if n % i == 0: # 若n能被i整除则不是素数 return 0 return 1 # n为素数 ``` 请注意,该函数的时间复杂度为O(sqrt(n)),其n为输入的整数。 ### 回答2: 这里给一个函数判断一个整数是否素数的实现: ```python def is_prime(num): if num < 2: return 0 for i in range(2, int(num**0.5)+1): if num % i == 0: return 0 return 1 ``` 该函数接收一个整数作为参数,首先判断该数是否小于2,若小于2,则不是素数返回0。接下来使用一个循环从2开始到该数的平方根加1的范围,判断该数是否能被任何一个数整除,如果能被整除,则不是素数返回0。如果循环结束后都没有到能整除的数,则是素数返回1。 对于测试用例: ```python print(is_prime(17)) # 1 print(is_prime(11)) # 1 print(is_prime(4)) # 0 print(is_prime(10)) # 0 ``` 输结果: ``` 1 1 0 0 ``` 所以该函数可以正确判断一个整数是否素数。 ### 回答3: 编写一个函数判断一个整数是否素数,可以按照以下思路来实现: 1. 首先,判断输入的整数是否小于2,因为2是最小的素数,小于2的整数都不是素数,我们可以直接返回0。 2. 若输入的整数大于等于2,则进行下一步。 3. 利用循环从2开始,一直到整数的平方根(用整数除法可以获得较高效率的结果),判断整数是否能被某个数整除。 4. 如果整数能被某个数整除,则直接返回0,不是素数。 5. 如果整数不能被任何数整除,则返回1,是素数。 下面是一个用Python编写的例子: ```python import math def isPrime(num): if num < 2: return 0 for i in range(2, int(math.sqrt(num)) + 1): if num % i == 0: return 0 return 1 # 测试用例 print(isPrime(2)) # 输 1 print(isPrime(4)) # 输 0 print(isPrime(17)) # 输 1 print(isPrime(21)) # 输 0 ``` 这个函数会根据输入的整数判断是否素数返回结果。在测试用例,2和17是素数,所以函数返回1;4和21都不是素数,所以函数返回0。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值