素数问题,感觉复杂,主要是输出
.编写函数int fun(int lim,int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。
#include <stdio.h> #include <string> using namespace std; #define MAX 1001 int fun(int lim,bool foot[MAX]) { memset(foot,0,lim); int i,j,k = 0; for(i = 2;i<=lim;i++) { if(!foot[i])//此处1表示不是素数0表示是素数 { for(j = 2;j*i<=lim;j++) { if(!foot[j*i]) { foot[j*i] = true; k++; } } } } return lim-k-2; } int main() { bool foot[10000]; int sum = fun(22,foot); return 0; }