#include<iostream>
using namespace std;
const int N=1000002;
int array[N]={0};
int main(){
 int n;
 for(int i=5;i<=N;i+=4){
  for(int j=5;j<=N;j+=4){
   int num=i*j;
   if(i*j>N)
   break;
   if(array[i]==0&&array[j]==0)
   //如果 i,j 目前都不为两个数的乘积,那么i*j就是由两个类素数相乘的积;如果之后 i,j 不是类素数,那么由下面的语句也会将其替换成-1.
   array[num]=1;
   else
   array[num]=-1;
  }
 }
 int count=0;
 for(int i=0;i<N;i++){
  if(array[i]==1)
  count++;//设置累加器,输出所求数的个数
  array[i]=count;
 }
 while(cin>>n,n!=0){
  cout<<n<<" "<<array[n+1]<<endl;
 }
 return 0;
}

最新文章

  1. 2016苹果春季发布会 iPhone SE发布
  2. Linux 问题汇总
  3. Python基础4- 字符串
  4. python watchdog
  5. winform 属性
  6. java-访问权限
  7. Cookie/Session机制具体解释
  8. python基础操作_集合_三元运算
  9. 解决Cordova安装Cannot find module &#39;bplist-parser&#39;问题
  10. Animations in UWP Community Toolkit - Overview
  11. SQLServer之创建唯一聚集索引
  12. 关于confluence上传文件附件预览查看时出现乱码的问题解决办法
  13. pythonのsimple_tag
  14. icons 在线网站
  15. dotnet ef
  16. 强化学习---A3C
  17. Maven单独构建多模块项目中的单个模块
  18. SQL语句之order by 、group by、having、where
  19. Ionic学习资源
  20. 解决git pull 每一次都需要输入密码的问题

热门文章

  1. android 根据网络来获取外网ip地址及国家,地区的接口
  2. Input输入字体颜色改变js(兼容IE)
  3. Oracle中中文、数字,英文混杂形式的字段进行排序的方法
  4. 2014年1月24日 Oracle 事务导读
  5. Octet string 解析
  6. canvas入门
  7. H-Index,H-Index II
  8. Android布局控件
  9. Java IO之序列化
  10. IE10以下placeholder不兼容