本文主要是介绍[Usaco2007 Jan]Qualified Primes合格的素数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[Usaco2007 Jan]Qualified Primes合格的素数
时间限制: 1 Sec 内存限制: 128 MB
题目描述
求A..B之间包含数字D的素数个数。(1<=A<=B<=4000000,B<=A+1000000)
输入
1行,三个整数A,B,D
输出
1个整数,满足条件的素数个数
样例输入
10 15 3
样例输出
1
varv:string;c,d:char;check:array[0..4000000]of boolean;prime:array[0..283146]of longint;i,j,t,n,a,b,x,y,ans:longint;
beginreadln(a,b,c,d);n:=b;for i:=2 to n docheck[i]:=true;check[1]:=false;for i:=2 to n dobeginif check[i]=truethenbegininc(t);prime[t]:=i;if (i>=a)and(x=0)then x:=telseif (i>b)and(y=0)then y:=t-1;end;for j:=1 to t dobeginif prime[j]*i>nthen break;check[prime[j]*i]:=false;if i mod prime[j]=0then break;end;end;if y=0 then y:=t;{writeln(t);for i:=1 to t dowrite(prime[i],' ');}for i:=x to y dobeginstr(prime[i],v);for j:=1 to length(v) doif v[j]=dthenbegininc(ans);break;end;end;writeln(ans);
end.
这篇关于[Usaco2007 Jan]Qualified Primes合格的素数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!