判断从键盘读入的正整数x是否为质数,并输出判断结果。
#include<stdio.h>
#include<math.h>
int main()
{
int x, k, i;
printf("请输入一个正整数x:");
scanf_s("%d", &x);
if (x <= 0)
printf("请输入一个正整数:");
else if (x == 1)
printf("%d is not a prime.\n", x);
else
{
//判断从2到平方根的数字是否都能被整除即可
k = (int)sqrt(x);
for (i = 2; i <= k; i++)
if (x%i == 0)
break;
if (i > k)
printf("%d is a prime,\n", x);
else
printf("%d is not a prime.\n", x);
}
return 0;
}
运行结果:
在此基础上改写,找出规定范围(a,b)内的所有质数,并按每行5个的格式输出。(这里a,b变量从键盘输入并且范围为:10≤a≤b≤1000)