素数:
定义:除了1和它本身不能被其他任意的数整除的数;
那么在c语言里面,就把1和它本身排除就行
这是一个非常简单的算法,但是由于刚开始学c时老师讲的不明白,导致这个问题一直困惑着我
方法一:判断一定范围内的数有多少个是素数:
#include <stdio.h>
#include<windows.h>
#define N 1000
//100以内素数
int main(void)
{//1不是素数,所以可以排除
int i;
int count = 0;
for (i = 2; i <= 100; i++)//这是定范围,0~100以内
{
int j = 0;
for (j = 2; j <= i; j++)//除以除了1和他本身之外的数就从2开始
{
if (i%j == 0)break;//如果能整除则跳出循环
}
if (i == j)//来到这,判断下是不是自己本身。如果是,那么就是素数,如果不是则不输出
{
count++;
printf("%d\n",i);
}
}
printf("\ncount=%d\n", count);
system("pause");
return 0;
}
更新:虽然我二级已经过了,今天梳理博客的时候突然看到,就更新一下
方法二:判断随意输入的数是否为素数:
#include <stdio.h>
#include<windows.h>
#define N 1000
//100以内素数
int main(void)
{//1不是素数,所以可以排除
int i;
int count = 0;
int a;
printf("请输入一个数判断是否是素数:");
scanf_s("%d",&a);
for (i = 2; i <= 100; i++)//这是定范围,0~100以内
{
if (a % i == 0)
{
if (i == a)//来到这,判断下是不是自己本身。如果是,那么就是素数,如果不是则不输出
{
printf("是素数");
}
else printf("不是素数"); break;
}
}
return 0;
}