HDU 2204 Eddy's爱好(容斥原理)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2204

解题报告:输入一个n让你求出[1,n]范围内有多少个数可以表示成形如m^k的样子。

不详细说了,自己一开始也忽略了三个素数的乘积的乘方的情况。

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<cmath>
 6 using namespace std;
 7 typedef long long INT;
 8 INT prim[70];
 9 
10 int dabiao()
11 {
12     int f = 0;
13     for(int i = 2;i < 60;++i)
14     {
15         int flag = 1;
16 
17         for(int j = 2;j < i;++j)
18         if(i % j == 0)
19         {
20             flag = 0;
21             break;
22         }
23         if(flag) prim[f++] = i;
24     }
25     return f;
26 }
27 
28 int calc(INT a,INT b,INT n)
29 {
30     INT s = 1;
31     while(b--)
32     {
33         if((INT)(n / a) <= s) return 0;
34         s *= a;
35     }
36     return 1;
37 }
38 int main()
39 {
40     INT n;
41     int num = dabiao();
42     while(scanf("%I64d",&n)!=EOF)
43     {
44         INT tot = 1;
45         for(int i = 0;i < num;++i)
46         {
47             INT temp = (INT)pow((double)n,1.0 / prim[i]);
48             if(temp == 1 ) break;   //开方之后不足1的话,则退出
49             tot += temp - 1;   //减1是因为每次都会统计到1
50         }
51         for(int i = 0;i < num;++i)
52         for(int j = i+1;j < num;++j)
53         {
54             INT temp = pow((double)n,1.0/(prim[i] * prim[j]));
55             if(temp == 1) break;
56             tot -= temp - 1;
57         }
58         for(int i = 0;i < num;++i)
59         for(int j = i + 1;j < num;++j)
60         for(int k = j + 1;k < num;++k)
61         {
62             INT temp = pow((double)n,1.0/(prim[i] * prim[j] * prim[k]));
63             if(temp == 1) break;
64             tot += temp - 1;
65         }
66         printf("%I64d\n",tot);
67     }
68     return 0;
69 }
View Code

 

转载于:https://www.cnblogs.com/xiaxiaosheng/p/3870300.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 物理引擎 摩擦力_参赛作品2-phenom的2D物理引擎

全球图形学领域教育的领先者、自研引擎的倡导者、底层技术研究领域的技术公开者&#xff0c;东汉书院在致力于使得更多人群具备内核级竞争力的道路上&#xff0c;将带给小伙伴们更多的公开技术教学和视频&#xff0c;感谢一路以来有你的支持。我们正在用实际行动来帮助小伙伴们…

vue-cli的webpack模版,相关配置文件dev-server.js与webpack.config.js配置解析

1.下载vue-cli [html] view plaincopy npm install vue-cli -g vue-cli的使用与详细介绍&#xff0c;可以到github上获取https://github.com/vuejs/vue-cli 2.安装webpack项目模版 [html] view plaincopy vue init <template-name> <project-name> 比如&#xff…

zookeeper windows 下安装

2019独角兽企业重金招聘Python工程师标准>>> 前沿&#xff1a;最近公司做的项目用到了dubbo 和 zookeeper 由于 每次测试的时候 我本地的服务就会注册到测试机上&#xff0c;还得每次把测试机的服务停止掉&#xff0c;所以准备在本地搭建一个zookeeper。 安装过程 2…

小白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连载四(场景切换)...

作为一款真正有使用价值的应用&#xff0c;首先应该至少有两个页面&#xff0c;通过页面的切换来实现更多的交互。比如手机人人网&#xff0c;打开以后先是进入登录页面&#xff0c;登录后会有新鲜事&#xff0c;然后拉开左边的面板&#xff0c;能看到相册、悄悄话、应用之类的…

Mysql学习总结(12)——21分钟Mysql入门教程

21分钟 MySQL 入门教程 目录 一、MySQL的相关概念介绍二、Windows下MySQL的配置 配置步骤MySQL服务的启动、停止与卸载三、MySQL脚本的基本组成四、MySQL中的数据类型五、使用MySQL数据库 登录到MySQL创建一个数据库选择所要操作的数据库创建数据库表六、操作MySQL数据库 向表中…

java 队列实例_Java 实例 - 队列(Queue)用法

全屏Java 实例 - 队列(Queue)用法队列是一种特殊的线性表&#xff0c;它只允许在表的前端进行删除操作&#xff0c;而在表的后端进行插入操作。LinkedList类实现了Queue接口&#xff0c;因此我们可以把LinkedList当成Queue来用。以下实例演示了队列(Queue)的用法&#xff1a;Ma…

UVa 11549 Calculator Conundrum

大白书里面的题感觉就是没有什么固定的思路&#xff0c;只能认真理解学习汝佳大大的代码。 这里用的Floyd判圈法&#xff0c;就像插图里面的一样&#xff0c;两个小孩&#xff0c;一个快一个慢&#xff0c;如果实在一个环形跑道&#xff0c;那么快的那个最终一定会“追上”慢的…

几个性能测试工具

我个人认为一个优秀的软件工程师必须掌握一定的测试技能。可能有的开发工程师认为测试是测试工程师的事情&#xff0c;不是开发工程师的事情。这种开发工程师是缺一条腿的&#xff0c;离开了测试工程师&#xff0c;你如何证明你的程序没有问题。 下面是我这两天搜集的性能测试工…

Bootstrap页面布局14 - BS按钮群组

首先看看这个代码&#xff1a; <div classbtn-group><button typebutton classbtn>计算机</button><button typebutton classbtn>网络</button><button typebutton classbtn>桌面项目</button> </div> 将功能相近的按钮分成一…

type const mysql_Mysql Explain之type详解

select version()&#xff1a;5.7.21MySQL 提供了一个 EXPLAIN 命令, 它可以对 SQL 语句进行分析, 并输出 SQL 执行的详细信息, 以供开发人员针对性优化.例如分析一条 SELECT 语句EXPLAIN 结果中的type字段Tips&#xff1a;常见的扫描方式system&#xff1a;系统表&#xff0c;…

Android Intent传递数据

刚开始看郭大神的<>,实现以下里面的一些例子.Intent传递数据. 我们利用显示的方式进行Intent的启动. 1.启动intent并输入数据. Intent intentnew Intent(MainActivity.this,TwoActivity.class);intent.putExtra("data", "hello two");startActivity(…

帮 C/C++ 程序员彻底了解链接器

为什么80%的码农都做不了架构师&#xff1f;>>> http://blog.jobbole.com/96225/ 转载于:https://my.oschina.net/lieefu/blog/547083

linux安装软件包(pip, distribute, nose, virtualenv)

一、 先安装pip 1. 先去python官网下载pip&#xff0c;网站&#xff1a;https://pypi.python.org/pypi/pip#downloads&#xff0c;点击下图中的“download” 2. 然后选择下图标注的包&#xff0c;链接可以通过f12获取&#xff0c;具体如下&#xff1a; 3. 然后再linux终端输入&…

event对象获取方法

为什么80%的码农都做不了架构师&#xff1f;>>> http://www.jb51.net/article/42691.htm 转载于:https://my.oschina.net/zxin/blog/547902

【iOS开发每日小笔记(一)】UIPickerView 自动选择某个component的某个row

这篇文章是我的【iOS开发每日小笔记】系列中的一片&#xff0c;记录的是今天在开发工作中遇到的&#xff0c;可以用很短的文章或很小的demo演示解释出来的小心得小技巧。它们可能会给用户体验、代码效率得到一些提升&#xff0c;或是之前自己没有接触过的技术&#xff0c;很开心…

在Hadoop上运行基于RMM中文分词算法的MapReduce程序

原文&#xff1a;http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-count-on-hadoop/ 在Hadoop上运行基于RMM中文分词算法的MapReduce程序 23条回复我知道这个文章标题很“学术”化&#xff0c;很俗&#xff0c;让人看起来是一篇很牛B或者很装逼的论文&#xff0…

Visual Studio 快捷键汇总

常见方法&#xff1a; 强迫智能感知&#xff1a;CtrlJ。智能感知是Visual Studio最大的亮点之一&#xff0c;选择Visual Studio恐怕不会没有这个原因。 撤销&#xff1a;CtrlZ。除非你是天才&#xff0c;那么这个快捷键也是最常用的。强迫显示参数信息&#xff1a;Ctrl-Shift-空…

deferred Transports Protocols 简单介绍

2019独角兽企业重金招聘Python工程师标准>>> Twisted架构概览 Twisted是一个事件驱动型的网络引擎。由于事件驱动编程模型在Twisted的设计哲学中占有重要的地位&#xff0c;因此这里有必要花点时间来回顾一下究竟事件驱动意味着什么。 事件驱动编程是一种编程范式&a…

java web 请求跟踪_IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术

原标题&#xff1a;IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术Cookie使用HTTPHeader传递数据。Cookie机制定义了两种报头&#xff0c;Set-Cookie报头和Cookie报头。Set-Cookie报头包含于Web服务器的响应头(ResponseHeader)中&#xff0c;Cookie报头包含在浏览器客户端请…

关于easyUI在子页面增加显示tabs的一个问题

关于easyUI在子 在父页面点个链接能动态看到子页面的情况太简单&#xff0c;请看easyUI官网&#xff1a;http://www.jeasyui.com/tutorial/layout/tabs2.php 现在说的是在子页面点个按钮也能触发增加子页面的情况。 情景是&#xff0c;在父页面上有个div如&#xff1a; Html代…