c语言求素数 求1到100之间的所有素数。求程序?
求1到100之间的所有素数。求程序?
程序和说明如下:首先,判断素数的算法:用一个数去掉2到sqrt(数),如果它能被除,说明这个数不是素数,否则就是素数。然后是下面的过程{int m,K,I for(m=1m<=100m=m2)//m=m2,因为偶数不是素数,所以每次m2。{k=sqrt(m)//首先找到(I=2I<=Ki)的数字的平方//然后用I(从2到k,即m的平方)去掉m,如果(m%I==0)break//如果它可以整除,那么它不是素数,如果(I>=k1)pritnf(%d,m)//如果I>=k1,那么没有数字可以除m,那么m是素数。2它们是: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。2、 说明:100以内的素数可分为五类。第一类:20以内素数:共2、3、5、7、11、13、17、19、8;第二类:3或9、10位相差3的素数:共23、29、53、59、83、89、6;第三类:1或7、10位相差3的素数:共31、37、61、67、4;第四类:素数10位数字之间有1、3或7和3之差:4 1。43,47,71,73,共5;第五类:有79和97.2,共8 6452=25。
1到100有多少个素数?
有三种方法:
1。输出1-100之间的素数:
2。同样,输出1-100之间的素数。这将构造一个数组,将其所有元素初始化为1,并表示素数。此时,从2取x,在100内循环。如果x是素数,那就是素数[x]!=0,这样每个I*x位置元素被设置为0(素数[I*x]=0),表示为一个非素数,在循环结束前x 1。
3. 这个方法是输出100个素数。其基本思想是构造一个素数表,利用该函数判断每个数是否可以被前一个素数除。如果不是,则在prime表中添加元素并继续循环(while循环的结束条件是CNT,即数组数gt100)。扩展信息:在这个小程序中,主要用途是for循环。for循环语句的一般形式是:for(expression 1,expression 2,expression 3){statement}。需要注意两点:1)表达式1、表达式2和表达式3用分号分隔。不要把它们写成逗号。2) 不要在for后面加分号(表达式1;表达式2;表达式3)。很多初学者都会犯这个错误——他们会情不自禁地在后面加上分号。因为for循环只能控制下面的语句,而且在C语言中,分号也是一个空语句。因此,如果在它后面添加分号,for循环只能控制分号,下面大括号中的语句不属于for循环。
1到100之间所有的素数?
# 编码:utf8
If n==1:
continue
elif n==2:
L.append(2)
else:
如果0不在[n%I for I in range(2,n)
]L.append(n)
]print L
运行结果:
!][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
main(){int i,t,K/*t是判断它是否是(i=2I<=100I)的质数*/的标识符{t=1/*首先,设t=1,即(K=2K<ik)/*的质数*/是从2到i-1的数,即判断i是否是质数*/如果(i%K==0)/*如果它可以整除,那么它不是素数*/{t=0/*不是素数,那么把t设为0*/break/*Exit。如果您对执行不满意,将浪费时间*/}如果(T)/*退出上述循环后,如果T不等于0,它将是素数*/printf(%d,I)/*是介于100和300之间的素数
]A:除了1和它本身之外,没有其他可除数。他们是:101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181
191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293
c语言求素数 c语言列出1~100所有素数 c语言求1到100的素数之和
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。