对一个大于或等于3的正整数,判断它是不是一个素数。
S1: 输入n的值
S2: i=2
S3: n被i除,得余数r
S4:如果r=0,表示n能被i整除,则打印n“不是素数”,算法结束;否则执行S5
S5: i+1→i
S6:如果i≤n-1,返回S3;否则打印n“是素数”;然后算法结束。
改进:
S6:如果i≤根号n,返回S3;否则打印n“是素数”;然后算法结束。
参考答案:如果按上述的算法,用C来作应该是下面程序!
main()
{
int i, n;
printf("please input the data:\n");
scanf("%d",&n);
for(i = 2; i < n; i++)
{
if(n % i == 0)
{
printf("this is not a prime number.\n");
break;
}
}
if(i == n)
printf("this is a prime number.\n");
getch();
}