输入一个整数n,求2~n之间质数的个数

输入一个整数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;
}