c语言输出1-100的素数
答:按照你的程序作了修改,简化了算法,程序如下:#include<stdio.h>#include<math.h>intmain(){inta,b,k;/*printf("2");*/for(a=1;a<=100;a=a+2) { k=sqrt(a); for(b=2;b<k;b++) if(a%b==0)break; if(b>=k)printf("%d\t",a); }getch();return0;}程序的运行结果...
答:for(a=2;a<=100;a++) { c = (int)sqrt(a);//计算平方数,取整 for(b=2;b<=c;b++)//依次判断 if(a%b==0) break; if(b>c) printf("%d\n",a);//输出素数 } return 0;}
答:include <stdio.h> int isprime(int n){for(int i=2;i*i<=n;i++)if(n%i==0)return 0;return n>1;} int main(){int n=0,i;for(i=2;i<101;i++)if(isprime(i)){printf("%d ",i);n++;} printf("\nToatl=%d\n",n);return 0;} ...
答:include <stdio.h> include <math.h> int main(void){ int i,j,cnt=0;int max = 0;for (i = 2; i<=100; i++){ max = sqrt((double)i)+1;for (j = 2; j<max; j++){ if (i % j == 0){ break;} } if (j >= max){ cnt++;} } printf("cnt=%d\n",cnt);r...
答:bool isprime[100];int i, j;isprime[0] = false;isprime[1] = false;for(i = 2; i < 100; i++) /*先初始化2~100的都是素数,然后将非素数筛除掉*/ isprime[i] = true;for(i = 2; i < 10; i++) /*将所有含有小于10的质因子的数筛除掉*/ { if(isprime[i...
答:程序及解释如下:首先判断素数的算法:用一个数分别去除以2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。则有如下程序 { int m,k,i;for(m=1;m<=100;m=m+2) //m=m+2,因为偶数都不是素数,不用考虑,所以每次m+2.{ k=sqrt(m) //先求这个数的平方跟 for...
答:for(i=1;i<=num;i++){ if(num%i==0){ count++;} } return count>=3?1:0;} void main(){ int i,numA[100],sum=0;for(i=0;i<100;i++){ numA[i]=i+1;} for(i=0;i<=99;i++){ if(isSuShu(numA[i])==1){ sum+=numA[i];} } print("100以内素数和是:%d!\n...
答:列出100以内的素数 代码如下:include <stdio.h> int main(void){ int i,j,k;printf("%d\n",2);2肯定是素数[em02]for(i=1;i<=100;i+=2){ for(j=2;j
答:;for (i = 2; i <= tmp; ++i){if (num % i == 0){return 0;}}return 1;}int main(int argc, char** argv){ int i;printf ("1 ~ 100 的素数:\n");for (i = 1; i <= 100; ++i){if (is_prime(i)){printf ("%d\n", i);}} return 0;}运行:...
答:include<stdio.h> //输出100之内的所有素数 int main(){ int i;int j;int flag = 1;for(i = 2;i <= 100;i++){ for(j = 2;j <= i / 2;j++){ if(i % j ==0){ flag = 0;break;} } if(flag == 1){ printf("%d\n",i);} flag = 1;} return 0;} ...
网友评论:
寿殃19141423398:
用C语言编写一个程序,输出1到100中的质数 -
56613鄂成
: #include<stdio.h> #include<windows.h> int f(int n) {if(n<2)return 0;<br>int i;<br>for(i=2;i<=n/2;i++)<br>if(n%i==0)<br>return 0;<br>return 1;<br>} int main() {int i;<br>for(i=1;i<=100;i++)<br>if(f(i))<br>printf("%5d",i);<br>system("pause"); <br>}
寿殃19141423398:
c语言程序中怎样输出1到100的素数 -
56613鄂成
: 主要考察素数的概念和判断方法.素数:指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数.素数判断:将该数N用小于等于根号N的所有素数去试除,若均无法整除,N则为素数.参考代码:#include<stdio.h>#...
寿殃19141423398:
C语言,输出1到100的素数.编程如下,大家给看看,谢谢了. -
56613鄂成
: 第一层while循环进入时,isprime都要初始化,不然如果上一个不是素数,那么现在进入while循环时isprime就是0,以后永远不会输出数据啦,也就是即便后面有素数也不会输出来,因为isprime永远是0,printf("%d\n",n);永远不会执行.你应该每次进入第一层while循环都要初始化isprime为1,是素数值不变为1,输出来.要是不是素数,那么在第二层while循环中isprime就改为0啦,不输出来.你看看明白啦吧?
寿殃19141423398:
输出1 - 100之间的素数还有他们的和,用C语言实现 -
56613鄂成
:#include int isprime(int n) {int i;if(n<2)return 0;for(i=2;i*i<=n;++i)if(n%i==0)return 0;return 1; } int main() {int i,sum;for(i=1,sum=0;i<101;++i){if(isprime(i)){printf("%d\n",i);sum+=i;}}printf("%d\n",sum);return 0; }
寿殃19141423398:
C语言,输出1到100之间的素数?检查一下?
56613鄂成
: #include<stdio.h> #include<math.h> int main() { int p=2,i=2,k; // 2也是素数 while(p<=100) { k=(int)sqrt(p); while(i<=k) { if(p%i==0) break; i++; } if(i>k) printf("%d\n",p); p++; i = 2; // i值要还原 } }
寿殃19141423398:
C程序 输出1到100的素数. -
56613鄂成
: 人家楼主的意识是让我们找找他的程序的错误嘛~~我给你看看哈...void main() {long int x,y;for(x=1;x<100;x++){ for(y=2;y<x;y++){if(x%y==0) break; }if(x==y) /*把这里也改改!!*/ printf("%d ",x); } getch(); } 其实问题就出在你的几个大括号上面,掉了几个大括号!这个程序我已经调试过了,没有问题!!
寿殃19141423398:
怎样用c语言循环结构输出1到100之间的素数 -
56613鄂成
: 123456789101112131415 #include <stdio.h> intmain() { inti, j; for(i = 2; i < 100; ++i){//2-100控制循环 //判断素制数2113 for(j = 2; j*j <= i; ++j){//2-sqrt(i)循环控制 if(i % j == 0)break;//如果能整5261除,说明不是素数,4102跳出循环 } if(j*j > i){//如果没有能整除的数,说明是素数,输1653出 printf("%d\n", i); } } return0; }
寿殃19141423398:
用C语言写出输出1到100内的素数 要用自定义函数 -
56613鄂成
: 刚学C语言,可能写得有点复杂: #include #include main() { int a,b,i; printf("2,"); for(a=3;a<=100;a++) { i=0; b=2; for(;b {if(a%b!=0) i++; if(i==a-2)printf("%d,",a); } } getch(); }
寿殃19141423398:
用c语言求解一到一百的素数 -
56613鄂成
: #include<math.h> #include<stdio.h> #define N 100 void main(){ int i,j,line,a[N]; for(i=1;i<N;i++) a[i]=i; /*初始化数组*/ for(i=2;i<sqrt(N);i++){ for(j=i+1;j<N;j++){ if(a[i]!=0&&a[j]!=0) if(a[j]%a[i]==0) a[j]=0; } } printf("\n"); for(i=2,line=0;i<N;i++){ if(a[i]!=0){ ...
寿殃19141423398:
用C语言求1到100之间的素数,谁能帮忙解释这个运算的流程??谢谢了. -
56613鄂成
: i为被测试是否是素数,j为被除数,k是标志位 规则是:i从1数到100,每个数都要经过测试,i除以2,看是否能整除,除以3,看是否能整除,一直除以到i-1,看是否能整除(这其中的过程,1和i本身不需要测试,其余的数字只要有一个能被整除,就满足if ((i % j) == 0)的条件,把k标志位置为1.外面判断k如果为1,说明有数被整除,不是素数,不打印,要是k等于0,就是素数,能打印).懂了么?希望采纳