有鬼的代码

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int prime[200000],primetot=0;
const int maxn=1000000;
bool bo[1000010];
int primenum[1000010];
int T,n;
int main()
{
    memset(primenum,0,sizeof(primenum));
    memset(bo,0,sizeof(bo));
    bo[0]=bo[1]=1;
    primenum[0]=primenum[1]=0;
    for(int i=2;i<maxn;i++)
    {
        primenum[i]=primenum[i-1];
        if(!bo[i])prime[++primetot]=i,primenum[i]++;
        for(int j=1;j<=primetot;j++)
        {
            if(i*prime[j]>maxn)break;
            if(i*prime[j]<0)printf("%d %d\n",i,prime[j]);
            bo[i*prime[j]]=1;
            //if(i%prime[j])
                break;
        }
        //printf("%d\n",primenum[i]);
    }
    for(int i=1;i<=10;i++)
        printf("%d\n",primenum[i]);
    scanf("%d",&T);
    for(int tt=1;tt<=T;tt++)
    {
        scanf("%d",&n);
        int sub=0;
        if(!bo[n])
        {
            printf("%d\n",primenum[n]+1);
            //printf("---");
            printf("%d %d\n",bo[n],n);
        }
        else
        {
            if(n==1)
            {
                printf("1\n");
                continue;
            }
            int cnt=1;
            while(n!=1)
            {
                if(n%prime[cnt])
                {
                    sub++;
                }
                while(n%prime[cnt])
                {
                    n/=prime[cnt];
                }
            }
            printf("%d\n",primenum[n]+2-sub);
        }
    }
    return 0;
}
时间: 2024-10-25 15:26:54

有鬼的代码的相关文章

错误和问题解决的成本

问题描写叙述 错误 数据收集 根本原因 版本号   组件:数据修复           在一个实际成本组织中,(平均,先进先出,后进先出) 一个或更 多的下面情况可能发生: 1.导航到物料成本历史表单上的数量信息,与现有量表单的数量不匹配的记录 2. 一些物料前期已计成本的数量与前面的事务处理历史表单的数量不匹配 3. 全部的库存值报表与事务处理值报表不匹配 4. 存货层次成本更新表单的总数量与现有量数量表单不匹配(只在先进先出/后进先出) 5.这些症状的不论什么一个意味着 MMT-CQL不匹配

我是小白我怕谁【第三期】电脑有鬼

我是小白我怕谁——目的:只是为了让不能快乐的人们笑笑罢了,不是病毒专栏哦~纯粹的用C#编的各种小软件罢了,这个过程中重点是思想,如果你们有什么好的思路可以跟我说哦,被我采纳后就会给你源码哦~ 先分析一下上一期内容: 上一期难点是:如何创建文件,如何删除文件,如何快捷打开软件,如何结束指定进程 会了这个之后你可以自己制作:工具箱(便捷打开),进程结束器(结束指定进程),文件批量创建器(比如按学号创建文件之类的)(如果后期有时间的话我可以一个一个的演示的[自己要多动脑,比如学习了一个新知识就要想着我

在线捉鬼游戏开发之三 - 代码与测试(鬼讨论、鬼投票)

-----------回顾分割线----------- 此系列旨在开发类似“谁是卧底+杀人游戏”的捉鬼游戏在线版,记录从分析游戏开始的开发全过程,通过此项目让自己熟悉面向对象的SOLID原则,提高对设计模式.重构的理解. 索引目录: 0. 索引(持续更新中) 1. 游戏流程介绍与技术选用 2. 设计业务对象与对象职责划分(1)(图解旧版本) 3. 设计业务对象与对象职责划分(2)(旧版本代码剖析) 4. 设计业务对象与对象职责划分(3)(新版本业务对象设计) 5. 业务对象核心代码编写与单元测试

在线捉鬼游戏开发之三 - 业务对象核心代码编写与单元测试(游戏开始:抽题、分角色、开启鬼讨论模式)

-----------回顾分割线----------- 系列之一讲述了游戏规则,系列之二讲述了旧版的前台效果.代码中不好的地方.以及新版的改进核心,此篇开始就是新版代码编写全过程.此系列旨在开发类似“谁是卧底+杀人游戏”的捉鬼游戏在线版,记录从分析游戏开始的开发全过程,通过此项目让自己熟悉面向对象的SOLID原则,提高对设计模式.重构的理解. 索引目录: 0. 索引(持续更新中) 1. 游戏流程介绍与技术选用 2. 设计业务对象与对象职责划分(1)(图解旧版本) 3. 设计业务对象与对象职责划分

Xcode 快速开发 代码块 快捷键

Xcode的代码片段(Code Snippets)创建自定义的代码片段,当你重用这些代码片段时,会给你带来很大的方便. 常用的: 1.strong:@property (nonatomic,strong) <#Class#> *<#object#>;2.weak:@property (nonatomic,weak) <#Class#> *<#object#>;3.copy:@property (nonatomic,copy) NSString *<#s

solr分布式索引【实战一、分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例】

1 private static Properties prop = new Properties(); 2 3 private static String confFilePath = "conf" + File.separator + "config.properties";// 配置文件目录 4 static { 5 // 加载properties 6 InputStream is = null; 7 InputStreamReader isr = null;

微信支付PHP SDK —— 公众号支付代码详解

在微信支付 开发者文档页面 下载最新的 php SDK http://mch.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1 这里假设你已经申请完微信支付 1. 微信后台配置  如图 我们先进行测试,所以先把测试授权目录和 测试白名单添加上.测试授权目录是你要发起微信请求的哪个文件所在的目录. 例如jsapi 发起请求一般是jsapi.php所在目录 为测试目录,测试白名单即开发人员的微信号. 正式的支付授权目录不能和测试的一样否则会报错.不填

如何上传代码到github?

如何上传代码到github? 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可: https://git-for-windows.github.io/ 1.进入Github首页,点击New repository新建一个项目  2.填写相应信息后点击create即可 Repository name: 仓库名称 Description(可选): 仓库描述介绍 Public,

自己写的代码会写了,还是太渣,复杂度什么的直接报表

原题目是这样子的,本人按照一贯的作风想得很简单 #include<iostream> using namespace std; void H(int n) { while (n > 1) { if (n % 2 == 0) //这一步把取余和除法弄混淆. { cout << n << " "; n = n / 2; } else { cout << n << " "; n = 3 * n + 1; }