目录
一.什么是素数(质数 Prime)
二.判断一个整数是不是素数(质数)代码
三.求100以内的所有素数(质数)
四.输出前50个素数(质数)
一.什么是素数(质数 Prime)
质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。
转换为代码的思想:就是判断一个数x对区间[2,x]中的数分别取余,如果结果等于0,那么就说明x是合数,从2开始的原因是1既不是质数也不是合数。
二.判断一个整数是不是素数(质数)代码
通过一个标识符isPrime来判断
通过for循环来判断区间[2,x]中的数,在里面判断只要满足取余等于0,就跳出循环进行结果打印。
#include <stdio.h>
int main() {
int x;
scanf("%d", &x);
int isPrime = 1;
for(int i=1;i<=x;i++){
if(x%i==0){
isPrime=0;
break;
}
}
if(isPrime==1){
printf("%d是素数\n",x);
}
else
{
printf("%d不是素数\n",x);
}
return 0;
}
程序运行结果:
三.求100以内的所有素数(质数)
循环从2开始的原因是1既不是质数也不是合数。
#include <stdio.h>
int main() {
for (int x = 2; x < 100; x++) {
int isPrime = 1;
for (int i = 2; i < x; i++) {
if (x % i == 0) {
isPrime = 0;
break;
}
}
if (isPrime == 1) {
printf("%d ", x);
}
}
return 0;
}
程序输出结果:
四.输出前50个素数(质数)
#include <stdio.h>
int main() {
int count=0;
for (int x = 2; count<50; x++) {
int isPrime = 1;
for (int i = 2; i < x; i++) {
if (x % i == 0) {
isPrime = 0;
break;
}
}
if (isPrime == 1) {
printf("%d ", x);
count++;
}
}
return 0;
}
程序输出结果: