c语言判断素数 为什么是k*k而不是k呢

作者&投稿:龙军 (若有异议请与网页底部的电邮联系)
~ k*k<=n相当于k<=sqrt(n),因为若一个合数m可以表示成a*b,则a<=b范围内的a的最大解就是a=b,即m=a²。如果存在更大的a,则可以直接与b互换,此时的b就一定是之前a已经有的解。


通许县15872344757: C语言判断m是否是素数的程序中,关于最后的判断条件 -
永雁傲宁: 你如果不用if(i>=k+1),就用if(i==k+1),而不能是if(i=k+1).if(i=k+1)是判断i是否等于零,依题意必不等于零,故i值始终为真.而为什么大家都用if(i>=k+1)而少用if(i==k+1)呢?这是因为一般在编程的时候,很少有时间去想i值是多少,所以用个大范围代替.但对于本题来说,if(i==k+1)是可以的

通许县15872344757: C语言 判断输入的数是不是素数,为什么还要加1呢? -
永雁傲宁: =k;i++) if(m%i==0)break; 这里 当m能整除i(1-k中的一个)时就结束了循环 如果是那么循环结束是因为i=k+1 及1~k所有的数都不能被m整除 即m是素数 如果不是 那么循环结束是因为 if(m%i==0)break; 这里i=k+1)printf(",m);%d is not a prime number\n"n",m); 这里i>=k+1是为了判断前面的循环是因为什么原因 而结束 进而判断是不是素数 else printf(&quotfor(i=2;i&lt

通许县15872344757: c语言判断素数 -
永雁傲宁: 所谓素数是指除了1和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被2~16的任一整数整除.因此判断一个整数m是否是素数,只需把m被2~m-1之间的每一个整数去除,如果都不能被整除,那么m就是一个素数 另外判...

通许县15872344757: C语言判断素数我这程序为何一直都显示是素数? -
永雁傲宁: int prime(int n) {int i,k=1;for(i=2;i<n;i++)if(n%i==0)k=0;return(k); }

通许县15872344757: C语言素数的判定 -
永雁傲宁: i=4时 { tag=0; k={2,3} k=2时 i%2==0 tag=1 此时tag不等于0 不输出4 } i=5时 { tag=0; k={2,3,4} i%k不等于0 tag=0 输出 5 }以此类推~ 呵呵

通许县15872344757: 关于c语言判断素数 -
永雁傲宁: #include #include main() { int i, x, j=1; /* j作为是否素数的标志 */ printf("Please input a number:n"); scanf("%d", &x); /* 注意是%d */ for (i = 2; i < sqrt(x); i++)/* 写iif (x % i == 0){j = 0; /* 能整除就说明x不是素数了,作个标记 */...

通许县15872344757: C语言中求素数. 我主要是弄不明白为什么 if(i>=k+1) 他就执行不到i>k+1啊. -
永雁傲宁: 因为执行了for(i=2;i

通许县15872344757: c语言中 素数的判断 -
永雁傲宁: i是用来表示2到n本身之间数的,因为是用的do循环,所以需在循环体内做自增操作 根据素数的定义就是除了1和本身不能被其他数整除么 为什么到n/2 假设一个数n为36 /2则为18,36/19就小于2了,说明除了商为1之外最大的整除数就是2,所以循环体到n/2即可.

通许县15872344757: 如何编写一个C语言程序判断一个数是否是素数? -
永雁傲宁: 1. 思路1: 判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么m就是一个素数.代码如下: #include <stdio.h> int main(){ int a=0; // 素数的个数 int num=0; // 输入的整数 printf("输入一个整数...

通许县15872344757: C语言中判断一个数是否为素数 -
永雁傲宁: f是一个标记,当他的值为1时,说明他能被某个不为1和它本身的数整除,也就是说你输入的数不是素数, 至于那个i<=k和i>=k+1,如果你输入的那个数M一直都不能被从2到sqrt(m)整除时,经过循环后i=K+1,就满足i>=k+1,如果你输入的数M能被从2到sqrt(m)的某个数整除时,i就不会>=k+1

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网