对于这个程序,我们根据素数的定义来进行编写。
我们知道,素数是除了1和它本身之外没有其他因数的自然数。
这样我们可以根据循环来进行求解。
#include <stdio.h>
int main()
{
int n, i;
printf("请输入自然数:n=");
scanf("%d", &n);
for (i = 2; i < n; i++)
if (n % i == 0)break;
if (i < n)
printf("%d不是一个素数\n",n);
else
printf("%d是一个素数\n", n);
return 0;
}
对于这整个程序而言
我们是需要先输入自然数,
再循环,循环从2开始到(n-1)
避免了1和n
这样只要在这个区间内找到能把n整除的数,就终止循环(break语句)
后面再根据终止循环时i与n的大小比较进行判定
如果是一个素数,则在区间内必有一个i使得余数为0,也就是说得出的i要小于n
这就很方便的判定出数据是否为素数。
素数的判定有很多种方法,并不是必须要从2到(n-1)进行除法运算
还可以从2到n/2
甚至是从2到根号下n。
本篇内容到此结束。