大家好,我是一个初学编程的,目前是一名计算机专业的学生,虽然在大一大二时接触了相关知识但是还是觉得很难,甚至觉得这门课程好像并不适合我,但是我在学了一段时间后觉得很有趣,更想深入的了解它,这是我的第一篇博客,是一个开始,记录我学习计算机的点点滴滴。
一,打印100-200之间的素数
1.素数是什么?素数是指除了1和本身,不能被任何数字整除的数字,也就是先用一个循环100-200从101开始,然后再循环中在套一个循环,第二次的循环是依次除以从2开始的每个数,如果有一个数能被整除则break跳出循环,所以不是一个素数,接下来依次循环得出素数,可以定义一个计数器,例如count,记录有多少个素数并且全部打印。
2.可以使用布尔函数进行更加方便快捷的判断
|bool primrnumber(int n)
{
int i=2;
for(;i<n;i++)
{
if(n%i==0)
{
return false;
}
}
return true;
}
int main()
{
int n;
for(n=100;n<200;n++)
{
if(primrnumber(n))
{
printf("%d ",n);
}
}
return 0;
}
打印结果:
3.对1算法可以进行改进,素数的最大公约数为sqrt(n),因此判断是不是素数也可以判从2到sqrt(n)能否被整除,结果都不能被整除的就是素数。
int main()
{
int count = 0;
int n = 0;
for (n = 100; n <= 200; n++)
{
int i = 0;
for (i = 2; i <= sqrt(i); i++)
{
if (n%i == 0)
break;
}
if (i > sqrt(n))
{
printf("%d", n);
count++;
}
}
printf("count=%d", count);
return 0;
}