1.判断数字n是否为素数(考试重点)
(普通)
//判断数字n是否为素数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
for (int i = 2; i < n; i++)
{
if (n % i == 0)//找到能整除的因子,不是素数
{
printf("数字%d不是素数\n", n);
return 0;//提前结束这个函数
}
//else printf("%d是素数\n",n);//不应放在此处,应放在for循环外面
}
printf("数字%d是素数\n", n);
return 0;
}
2.判断数字n是否为素数,带优化,考试的重点
(优化)
故应用开根号sqrt,则在前面加头文件#include <math.h>
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
int n;
scanf("%d", &n);
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
{
printf("%d不是素数\n", n);
return 0;
}
}
printf("%d是素数\n", n);
return 0;
}
3.输出100~200之间的素数
//输出100~200之间的素数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
int j;
for (int i = 100; i < 200; i++)
{
for (j = 2; j <= sqrt(i); j++)
{
if (i % j == 0)
{
printf("%d不是素数\n",i);
break;//跳出一层循环,不能使用return 0;
}
}
if(j>sqrt(i))
printf("%d是素数\n",i);
}
}