rpct.net
当前位置:首页 >> C语言,求解区间【A,B】内素数个数,带上注释~~ >>

C语言,求解区间【A,B】内素数个数,带上注释~~

#include <stdio.h> int main() { int a, b, i, j; scanf ("%d%d", &a, &b); if (a > b){ t = a;a=b;b=t;//jiao huan } for (i = a; i <= b; ++i){//循环 if(i >= 2){//合法数 for (j = 2; j*j <= i; ++j){//j<=i开根号 if (i%j == 0)break;//整除 } if (j*j > i)printf ("%d\n", i);//遍历完j则为素数,输出 } } return 0; }

#include int main(void) { int a,b,counter,j; int temp = 0; while(scanf("%d %d",&a,&b)!=eof) { if((a==0)&&(b==0)) continue; else { for(counter=a;counter { temp = 1; //标示是否为素数,1为素数,0为非素数 for(j=2;j { if(counter%j==0) temp = 0; } if(

#includebool prime(int n){ int i; if(n==1)return 0; for(i=2;i*i 评论0 0 0

简单调试过的.int main() { unsigned int *sieve; unsigned int nMax, nMin; unsigned int i, j, k=0; cout << "Please input A (A < 99900000):"; cin >> nMin; cout << "Please input B (B > A) and (B - A) < 10^5:"; cin >> nMax; if (nMax - nMin >

if(i%j!=0) { counter++; } 这句有问题,举个例子:判断77是不是素数,77%2!=0 就加了一次,77%3!=0又继续加.,所以这样计数有问题.

#include#include void prime(int a,int b);double average(int a,int b);double variance(int a,int b);double standard(int a,int b);void main(){ int a,b,c; printf("Enter a,b:"); scanf("%d%d",&a,&b); printf("prime of a-b:");prime(a,b); printf("\naverage

10000000

#include<math.h>int isP(int m){ int i,k; k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0) return 0; return 1;}//判断 m 是否是素数,是返回1,不是返回 0main(){ int a,b,m; int max,min;

在你的基础上稍微改了下(下面的程序假设a#includeint main(){ int a,b,j,i,m; int flag,k; while(scanf("%d %d",&a,&b)!=EOF) { m=0; for(i=a;i 评论0 0 0

语法错误有两个,都标注了,你看一下:#include <stdio.h>#include <stdlib.h>#include <math.h> int main() { int t,c,b;//t是循环次数,c、b是每次循环的区间范围 int i,s,k,j=0; int a[7000]={0};//把素数放在数组里边 double m,r; scanf("%d",&t);//

网站首页 | 网站地图
All rights reserved Powered by www.rpct.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com