素数,也就是质数.若一个数字,除了它自己和1,不能被任何其它整数整除,则本数字被称为'素数'. 一个最粗暴的baseline如下:

#include <stdio.h>
#include <string.h>

bool is_prime_number(int val)
{
    int num = 0;
    int t;
    for(int i=1; i*i<=val; i++)
    {
        t = val / i;
        if( t * i == val ) num++;
        if(num>1) return false;
    }
    return true;
}

int get_int(const char *str)
{
    int sum = 0;
    int len = strlen(str);
    for(int i=0; i<len; i++)
    {
        if(*(str+i) >= '0' && *(str+i) <= '9' )
            sum = sum * 10 + *(str+i) - '0';
    }
    return sum;
}

int main(int argc,char *argv[])
{
    int max = 0;
    int size = 0 ;
    if(argc>1) max = get_int(argv[1]);
    if(!max) max = 100;
    for(int i=2; i<max; i++)
    {
        if(is_prime_number(i))
        {
            printf("%d\n",i);
            size ++ ;
        }
    }
    printf("size:%d\n",size);
    return 0;
}

Output

[yu@argcandargv-com prime_number]$ g++ prime_number_list.cc -o prime_number_list
[yu@argcandargv-com prime_number]$ ./prime_number_list
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
size:25

来自的你,很高兴你能看到这儿。若本文对你有所用处,或者内容有什么不足之处,敬请毫不犹豫给个回复。谢谢!