大概的思想是相同的 我用的是c++ 学过c肯定看的懂。大晚上的打字不容易,求采纳
cout就是输出 exit(0)就是终止程序 如果不用exit(0)那就加几个判断语句
如果你只学过c,那么方法二更容易懂
但是方法一中的 小技巧for(int i=2;i*i<=n;i++)可以试着了解一下
#include <iostream>
using namespace std;
int main() {
/*方法一*/
int n; // 需要判断的数字
for(int i=2; i*i<n; i++) {
if(n%i ==0) {
cout<<"NO"; //不是素数
exit(0); //发现不是素数 直接停止程序 不运行下去了
}
}
cout<<"YES"; //能运行到这里 是因为 上面的判断语句没有执行 也就是他是素数
/***********上面是方法一 只要判断 i*i <=N************/
/*因为任何一个数字 都是由一大一小 两个数字乘起来,又或者是两个相等的数字相乘*/
/******下面方法二***/
int n; // 需要判断的数字
for(int i=2; i<n; i++) {
if(n%i ==0) {
cout<<"NO"; //不是素数 直接break跳出循环 这样最后一次i 不进行累加
break;
}
}
if(i==n) cout<<"YES"; //若上面for循环中 if 语句不执行 那么i的累加一直进行 最后i==n的时候跳出循环
//所以这里判断 i==n
return 0;
}