素数也称为质数, 一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数。(规定1既不是质数也不是合数)。
我们可以利用循环内嵌来判断质数,根据性质可知质数是大于1的且只能被1和本身整除。举个例子:求100以内全部素数并且把它们赋入result数数组里。
那么有代码:
/*
*时间: 2020年9月13日 15:09:48
*例: 求100以内全部素数并且把它们赋入result数数组里
*核心: i 和 j 要等于2 且 注意j是否>=i;
*/
#include<stdio.h>
int main()
{
int i,j,n = 0,result[100];//i和j是循环控制变量,n是素数的个数,result装素数的数组
for(i = 2;i<100;i++)//i初始化2,做被比值,判断i是否为素数
{
for(j = 2;j<i;j++)//j初始化2,j做因数(从2到99逐个变化),用来判断是否能整除i,若整除则i不是素数,反之是素数。
{
if(i % j == 0)
break; //如果i能被j整除,那么跳出循环,★则i不是素数 且 j 比 i 小!★
}
if(j==i) //如果等于i的话,那么证明i是素数,且上个for循环没break。一定要是 j=i 不然出租哦 ,因为上个for循环j++了j刚刚好等于i。
result[n++] = i; // 把i赋给result,且n++【n为素数个数】;
}
return 0;
}
认真分析/*核心*/ 主考逻辑。