打印100到200之间的素数(函数方法)

首先,我们需要知道:素数是指除了1和他本身以外没有其他因子的数

之前笔者就弄混过素数(质数)单数,双数,奇数,偶数的区别,希望读者可以完美避坑;

有关单双数,素数(质数)的判断方法,读者可以去百度一下,或者去参考笔者上篇文章的建议,在这里,笔者就不过多阐述,以免被凑字;

话不多说,下面我们步入正题;

下面来看一下笔者用函数的知识所写的代码;

打印100到200之间的素数


//写一个函数,可以判断一个数是不是素数
//素数返回1;不是素数返回0
#include <stdio.h>
int is_prime(int n)
{
	int j = 0;
	for (j = 2; j < n; j++)
	{
		if (n % j == 0)
			return 0;
	}
	return 1;
}
int main()
{
	//打印100到200之间的素数
	int i = 0;
	for (i = 100; i <= 200; i++)
	{
		if (is_prime(i) == 1)
			printf("%d ", i);
	}
	return 0;
}

   在for循环这里:

for (j = 2; j < n; j++)      需要从2到n-1进行取余运算,如果从2到n-1中有n%j==0;则不是素数
    {
        if (n % j == 0)     取余运算,if判断结果是否为0;从而确定返回值
            return 0;
    }
    return 1;            在这里省略了一部分if语句   if(j=n)

运行结果如下图所示:

 在这里可以直观的看出来100到200之间的素数

内容若有不足之处,请多多指教

### 回答1: 以下是Python代码,用于打印100200之间素数: ```python for num in range(100, 201): if all(num % i != for i in range(2, int(num ** .5) + 1)): print(num) ``` 解释: - `range(100, 201)` 生成100200之间的整数序列。 - `all()` 函数接受一个可迭代对象作为参数,如果其中所有元素都为真,则返回 True,否则返回 False。 - `num % i != for i in range(2, int(num ** .5) + 1)` 生成一个布尔值列表,表示 num 是否能被 2 到 sqrt(num) 之间的任何整数整除。 - `int(num ** .5)` 表示 num 的平方根,加 1 后取整,是因为 sqrt(num) 可能是一个小数,需要向上取整。 - 如果 `all()` 函数返回 True,则说明 num 是素数打印出来。 ### 回答2: 要打印100200之间素数,首先需要明确什么是素数素数指只能被1和自己整除的正整数,最小的素数是2。因此我们需要从100开始,判断每个数是否为素数。 具体的方法是,对于每个数字,我们可以用从2到它本身-1的数进行除法运算,如果余数都不为0,那么这个数字就是素数。如果余数为0,那么就说明有别的数字可以整除它,不是素数。 代码实现如下: ``` for i in range(100,201): flag = 0 for j in range(2,i): if i%j == 0: flag = 1 break if flag == 0: print(i) ``` 首先,使用for循环遍历100200之间的数字。设一个flag变量来记录是否为素数,初值设为0。然后再用一个for循环,从2到当前数字-1进行遍历,并用if语句判断是否整除。如果整除,就将flag设为1,跳出循环。最后,如果flag为0,就说明没有找到能整除该数字的数字,即为素数,就将其打印出来。 运行上述代码,便能得到100200之间的所有素数。 ### 回答3: 要打印100200之间素数,我们可以使用Python的for循环,逐个检查每个数字是否为素数素数是只能被1和自己整除的正整数,因此我们可以通过循环判断每个数字是否可以被2到该数字减1的数字整除来确定其是否为素数。以下是具体的代码实现: ``` for i in range(100, 201): if i > 1: for j in range(2, i): if i % j == 0: break else: print(i) ``` 在上述代码中,我们首先使用for循环遍历100200之间的每个数字,包括100200,使用if语句跳过小于等于1的数字。然后,我们使用另一个for循环从2到i-1的数字遍历检查数字i是否可以被整除。如果i可以被其中的一个数字整除,我们会立即退出内部循环,否则我们会执行内部循环的else语句,其中我们使用print()打印数字i,表示它是一个素数。 在执行以上代码后,我们将会在控制台中看到100200之间的所有素数打印输出结果如下: ``` 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 ``` 这个代码简单并且高效,它将在不到一秒钟的时间内打印所有100200之间素数,这就是Python如此流行和受欢迎的原因之一,因为它易于学习和使用,同时也非常高效。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

念君思宁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值