判断输入某个数,求出1到某个数的所有素数
#include <stdio.h>
bool isPrime(int i) {
int m;
for (m = 2; m<i; m++)
{
if (0 == i % m) {
break;
}
}
if (i == m) {
return true;
}
else {
return false;
}
}
/*求1到某个数之间的所有素数*/
int main() {
int val;
int j;
scanf_s("%d", &val);
for (int i = 2; i<=val; ++i){ //val 100
//判断i是不是素数,是输出,不是不输出
/* for (j = 2; j <i; j++){
if (0 == i % j) {
break;
}
}
if (i == j) {
printf("%d\n",i);
}
*/
if (isPrime(i)) {
printf("yes=%d\n",i);
}else {
printf("no=%d\n",i);
}
}
while (true)
{
}
}
优化
#include <stdio.h>
bool isPrime(int i) {
int m;
for (m = 2; m < i; m++)
{
if (0 == i % m) {
break;
}
}
if (i == m) {
return true;
}
else {
return false;
}
}
void TravelseVal(int n) {
for (int i = 2; i <= n; ++i) { //val 100
if (isPrime(i)) {
printf("yes=%d\n", i);
}
else {
printf("no=%d\n", i);
}
}
}
/*求1到某个数之间的所有素数*/
int main() {
int val;
scanf_s("%d", &val);
TravelseVal(val);
while (true){}
}