记录编号 297786 评测结果 AAAAAAAAAAA
题目名称 [USACO Jan07] 有限制的素数 最终得分 100
用户昵称 Gravataropen the window 是否通过 通过
代码语言 C++ 运行时间 0.435 s
提交时间 2016-08-18 18:40:04 内存使用 0.29 MiB
显示代码纯文本
  1. #include<cstdio>
  2. #include<iostream>
  3. using namespace std;
  4. int zsb[1001];
  5. int a,b,d,tot,ans;
  6. bool f(int x)
  7. {
  8. for (int i=2; i*i<=x; ++i)
  9. if (x%i==0) return false;
  10. return true;
  11. }
  12. bool p_one(int c)
  13. {
  14. for (int i=1; i<=tot; ++i)
  15. if (c%zsb[i]==0 && zsb[i]!=c) return false;
  16. return true;
  17. }
  18. bool p_two(int p)
  19. {
  20. int n=p;
  21. while (n>0)
  22. {
  23. if (n%10==d) return true;
  24. n/=10;
  25. }
  26. return false;
  27. }
  28. int main()
  29. {
  30. freopen("qprime.in","r",stdin);
  31. freopen("qprime.out","w",stdout);
  32. scanf("%d%d%d",&a,&b,&d);
  33. for (int i=2; i<2000; ++i)
  34. if (f(i)) zsb[++tot]=i;
  35. for (int i=a; i<=b; ++i)
  36. if (p_one(i) && p_two(i))
  37. {
  38. ans++;
  39. }
  40. printf("%d\n",ans);
  41. }