1、判断所输入的整数是否为素数
(除1以外只能被1和它本身整除的自然数)
#include <stdio.h> //包含标准库的信息
int main(void) //每个程序都从main函数的起点开始执行
{
int a; //定义变量为整型
printf("请输入一个整数:");
scanf("%d",&a);
if(a <= 1)
printf("不是素数\n");
else if(a == 2)
printf("是素数\n");
else
{
for (int i = 2; i <= a-1 ; ++i) {
if (a%i == 0) //若与任意个数的余数为0,则不是素数
{
printf("不是素数\n");
return 0;
}
}
printf("是素数\n");
}
return 0;
}
2、求100~200之间的全部素数
#include <stdio.h> //包含标准库的信息
#include <math.h> //<math.h> 头文件中声明了一些数学函数和宏
int main(void) //每个程序都从main函数的起点开始执行
{
int n,k,i,m=0;
for (n = 101; n <=200 ; n = n+2) //偶数不是素数,所以只对奇数进行检查
{
k = sqrt(n); //开根号,判断是否为素数,只须被2~√n之间的整数除即可
for (i = 2; i <= k ; i++)
if (n % i == 0)break; //如果n能被i整除,终止内循环,此时i<k+1
if(i >= k + 1) //若i>=k+1,表示n未曾被整除
{
printf("%d ",n); //n为素数
m = m + 1; //控制换行
}
if (m % 10 == 0) printf("\n"); //若m为10的倍数,换行
}
printf("\n");
return 0;
}
运行结果