/* 题目描述
输入一个大于1的正整数,判断它是否为素数(prime,又称质数)。
如果这个数是素数,则输出yes,否则输出no。 末尾输出换行。
输入 一个大于1的正整数
输出 根据输入数据,判断概述是否为素数。如果这个数是素数,则输出yes,否则输出no。
注意末尾输出换行。
样例输入 7
样例输出 yes */
少一位数法
#include<stdio.h>
int main()
{
int n,i=1;
scanf("%d",&n);
for(i=2;i<=n-1;i++) //判定素数,万分记住,一定需要判定其-1或平方根和2区间能否有整数整除;
if(n%i==0) break; //如果其除以i等于0,立刻停止进行判定
if(i>n-1)printf("yes\n"); //如果i以及超过了原值,证明没有数可整除,素数
else printf("no\n"); //反之选择可以。
return 0;
}
平方根法
#include<stdio.h>
#include<math.h>
int main()
{
int n,i=1;
int k;
scanf("%d",&n);
k=sqrt(n);
for(i=2;i<k;i++) //判定素数,万分记住,一定需要判定其-1或平方根和2区间能否有整数整除;
if(k%i==0) break; //如果其处以i等于0,立刻停止进行判定
if(i>=k)printf("yes\n"); //如果i以及超过了原值,证明没有数可整除,素数
else printf("no\n"); //反之选择可以。
return 0;
}