输入一个整数n,求2~n之间质数的个数
输入:一个整数
输出:输出一行,表示有质数的个数
#include <stdio.h>
#include <math.h>
void main(){
int m; // 输入的整数
int i; // 循环次数
int k; // m 的平方根
printf("输入一个整数:");
scanf("%d",&m);
// 求平方根,注意sqrt()的参数为 double 类型,这里要强制转换m的类型
k=(int)sqrt( (double)m );
for(i=2;i<=k;i++)
if(m%i==0)
break;
// 如果完成所有循环,那么m为素数
// 注意最后一次循环,会执行i++,此时 i=k+1,所以有i>k
if(i>k)
printf("%d是素数。\n",m);
else
printf("%d不是素数。\n",m);
return 0;
}
/************begin************/
#include <stdio.h>
int main()
{
int i,j,count;
for(i=1;i<=100;i++)
{
count=0;
for(j=1;j<=i;j++)
{
if(i%j==0){
count++;
}
}
if(count==2)
{
printf("%d ",i);
}
}
return 0;
}
#include<iostream>
#include<cmath>
using namespace std;
bool prime(int n) {
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n, sum = 0;
cout << "输入n:";
cin >> n;
for (int i = 2; i <= n; i++) {
if (prime(i)) {
sum++;
}
}
cout << "质数的个数为:" << sum << endl;
return 0;
}