如果自然数i为素数,则设a[i]为1,否则设为0.首先把数组中的所有元素设为1,以表明没有任何数已被证明是非素数。然后,把数组中所对应索引处已证明是非素数(已知素数的倍数)的元素设为0.如果所有更小素数的倍数都已经设为0,a[i]仍然为1,则可知它是素数。
因为程序中所用的数组由最简单的元素类型—0和1组成的数组,所以直接由位组成的数组比整数组成的数组更省空间。另外,如果N值过大,某些编程环境可能要求把数组定义为全局变量,我们可以动态地为它分配空间。// Date:2020/4/12 // Author:xiezhg5 #include <stdio.h> #define N 10000 int main(void) { int i,j,a[N]; for(i=2;i<N;i++) a[i]=1; for(i=2;i<N;i++) { if(a[i]) for(j=i;i*j<N;j++) a[i*j]=0; for(i=2;i<N;i++) if(a[i]) printf("%4d ",i); printf("n"); } return 0; }
#include <stdlib.h> int main(int argc,char *argv[]) { long int i,j,N=atol(argv[1]) int *a=malloc(N*sizeof(int)); if(a==NULL) { printf("Insufficient memory.n"); return; } ... }
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算