C语言练习题整理
一、判断质数(素数)
1. 判断质数
对于一个大于 1 的整数,如果除了 1 和它本身,它不再被其它正整数整除,那么我们说它是一个质数。
对于给定的一个大于 1 的正整数 N(你可以认为测评机给出的 N 均小于 1000),判断它是否是一个质数。
输入格式
测评机会反复运行你的程序。每次程序运行时,你的程序仅需输入一个符合描述的正整数。
输出格式
输出也仅为一行,如果判题机在输入中给出的数字为质数,那么请输出YES
;否则,请输出NO
。
样例输入1
3
样例输出1
YES
样例输入2
9
样例输出2
NO
代码:
#include <stdio.h>
int main(){
int number;
scanf("%d", &number);
for(int i = 2; i < number; ++i)
{
if(number % i == 0)
{
printf("NO");
return 0;
}
}
printf("YES");
return 0;
}
2. 打印质数
判断一个数是不是素数,是素数返回1;不是素数返回0
代码:
#include <stdio.h>
#include <math.h>
int is_prime(int n){
int j = 0;
for (j = 2; j <= sqrt(n); j++)
{
if (n % j == 0)
return 0;
}
return 1;
}
int main(){
//打印 1-200 之间的素数
int i = 0;
for (i = 1; i <= 200; i++)
{
//判断i是否为素数
if (is_prime(i) == 1)
printf("%d ", i);
}
return 0;
}
3. 小于指定值的质数
请对于给定的一个大于 1 的正整数 N(你可以认为测评机给出的 N 均小于1000)