求解答,刚开始学c语言、
求n到m之间所有的素数,n和m值由用户从键盘输入
#include<iostream> #include<math.h> using namespace std; int main() { int n,m; cout<<"第一行输入N,第二行输入M:\n"; cin>>n>>m; int nSqr; for (int i=n;i<=m;i++) { nSqr=int(sqrt(i)); if (nSqr==1) cout<<i<<endl; for (int k=2;k<=nSqr;k++) { if (i%k==0) break; if (k==nSqr) cout<<i<<endl; } } system("pause"); }
#include<iostream> using namespace std; bool check(int a){//本函数用于判断,在主函数'main'中会使用 for(int i=2;i<=a-1;i++){//从2到a-1的范围内一一查询 if(a%i==0){//查询过程:用a取模动态值i,若为零直接返回false return false; } } return true;//若所有情况符合,返回true } int main(){ int n,m; cin>>n>>m; for(int i=n;i<=m;i++){//从n到m一一查询 if(check(i)==true){//用函数判断,这里我不省了,为的是让萌新看得清楚一点 cout<<i<<" ";//情况符合,输出i } } return 0; }