诶~朋友 你很有眼光嘛 嘻嘻嘻
我就是那个王者峡谷里最帅最厉害的小可爱
让我就这个问题开始我的bb
首先呢
这个解决问题的思路一定要清晰
首先明白素数是什么?
你明白么?
你明白么?
你明白么?
giao~下面我来解释一下什么是素数
素数:素数又称质数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。
简单的说就是这个数除了1和它本身以外不再有其他的因数。
再来看我们题目的条件,输出100-200范围内的素数,我们的数据取值范围就要在100-200中来选取
让我们来用一下这个 试除法
在c语言中可以将这个数定义为变量i,通过for循环语句改变其大小,限制其值域
定义一个count,count=1时,说明i被整除,不选取该i的值输出,当count=0时,说明有余数,所以输出该i值
以下为代码及运行结果
用xcode写的c,文本代码如下
#include<stdio.h>
int main()
{
int i = 0;
int j = 0;
int count = 0;
for(i=100;i<=200;i++)//for循环语句
{
count = 0;//每次找出一个数就将count重置为0
for(j=2;j<i;j++)//for循环语句
{
if(i%j == 0)//取余,余数为0
count = 1;//count为1
}
if(count == 0)//若count为0,输出i
printf("%d\t",i);
}
printf("\n");
return 0;
}
运行结果:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
Program ended with exit code: 0
其实呢!您不知道吧
这个代码还有改进的空间
for(j=2;j<i;j++)
可以替换成
for (j=2;j<(j/2);j++)
道理我就不讲了
给你个眼神你体会一下
还可以使用一个函数 sqrt()
开平方函数
for (j=2;j<=sqrt(i);j++) 记得在前头加头文件 math.h
yeah~
您听懂了么?
听不懂你也不会在评论里问我
你就是一个过客
拿了我的代码就走
你这让我伤心流泪的臭男人