早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言两个数a、b要判断这两个数组成的区间内共有多少个素数我的在OJ上提交是TimeLimitExceeded#include<stdio.h>intsushu(intx){intd;for(d=2;d<x;d++){if(x%d==0)break;}if(d<x)return0;elsereturn

题目详情
C语言两个数a、b要判断这两个数组成的区间内共有多少个素数我的在OJ上提交 是Time Limit Exceeded#include <stdio.h> int sushu(int x) { int d; for(d=2;d<x;d++) { if(x%d==0) break; } if(d<x) return 0; else return 1; } int main() { int sushu(int x); int a,b,t; int i; while(scanf("%d%d",&a,&b) && (a||b)) { t=0; if ( a>=2 && b<=1000) { for(i=a;i<=b;i++) { if(sushu(i)==1) t=t+1; }printf("%d\n",t); } } } 这是我的代码。求详解。
▼优质解答
答案和解析
试试这个代码。不过最好能运用筛法。 #include int sushu(int x) { int d; for(d=2;d*d=2 && b<=1000) { for(i=a;i<=b;i++) { if(sushu(i)==1) t=t+1; }printf("%d\n",t); } } return 0; }