#include <iostream>
#include <cmath>
using namespace std;
int main(){
for(int i=100;i<=200;++i){
double sqrti=sqrt(i*1.0);
for(int j=2;j<=sqrti;++j)
{
if(i%j==0){
cout<<i;
return 1;
}
}
}return 0 ;
}
#include <iostream>
#include <cmath>
using namespace std;
int main(){
for(int i=100;i<=200;++i){
int flag = 0;
for(int j=2;j<=sqrt(i);++j)
{
// 如果能被整除,说明不是素数
if(i%j==0){
flag = 1;
break;
}
}
// 如果flag==0,说明是素数
if (flag == 0) cout << i << " ";
}
return 0 ;
}
#include<iostream>
using namespace std;
int main()
{
int i,j;
for(i=100;i<=200;i++){
j=2;
while(j<i&&i%j!=0) j++;// while 是先判断再执行
if(i==j)
cout<<i<<' ';
}
return 0;
你的代码修正如下:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
for (int i = 100; i <= 200; ++i)
{
double sqrti = sqrt(i * 1.0);
int count = 0;
for (int j = 2; j <= sqrti; ++j)
{
if (i % j == 0) {
count++;
}
}
if (count == 0)
cout << i<<"\n";
}return 0;
}
#include <iostream>
#include <cmath>
using namespace std;
int main(){
for(int i=100;i<=200;++i){
//打了一个标签,用来判断当前范围是否有素数,如果flag变成1就不是素数,如果flag不变还是0就说明是素数
int flag = 0;
double sqrti = sqrt(i);
for(int j=2;j<=sqrti;++j) {
// 如果能被整除,说明不是素数
if(i%j==0){
flag = 1;
break;
}
}
if (flag == 0) {
cout << i << "\n";
}
}
return 0 ;
}