描述:
给定整型数据,判断其是否为素数。
质数(又称素数),是指在大于1的自然数中,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为素数(质数)。比1大但不是素数的数称为合数,1和0既非素数也非合数。
素数(质数)与合数 定义存疑:
解法一:
//判断是否为素数
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
int i;
int isPrime = 1; //定义整型变量 isPrime,初始值为1,用于标记素数x
for ( i=2; i<x; i++ ) {
if ( x % i == 0 ) {
isPrime = 0;
break;
}
}
if ( isPrime == 1 ) {
printf("是素数\n");
} else {
printf("不是素数\n");
}
return 0;
}
拓展:
输出100以内全部素数。
解法一:
//代码1,如何使用 do{}while() 或 while 循环结构实现
#include <stdio.h>
int main()
{
int x;
for ( x=1; x<=100; x++ ) {
int i;
int isPrime = 1; // 变量 isPrime 用于标记x是素数
for ( i=2; i<x; i++ ) {
if ( x % i == 0 ) {
isPrime = 0;
break;
}
}
if ( isPrime == 1 ) {
printf("%d ", x);
}
}
printf("\n");
return 0;
}
代码1输出:
//数字 1 被认为是质数(素数)输出
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97