luogu1010:幂次方
题目链接
题目大意:
将一个数字按照2的次幂拆分:
如:7,拆分成:2(2)+2+2(0) ;
解题思路:
1 明显是需要理解二进制的拆包思维:如何将一个数字拆分成若干个2的次幂,如果搞不懂,去研究一下背包里面的相关优化;
2 剩下就是一个递归的问题了;
上代码:
#include<bits/stdc++.h>int n;void dfs(int x)
{while(x>0)//对 x 进行二进制拆包 {int t=1,s=0;//t表示当前块的值,s表示当前是2的s次幂 while(x-t>=t){t*=2;s++;}if(s==1) printf("2");else if(s==0) printf("2(0)");else {printf("2("); dfs(s);printf(")");}if(x-t>0) printf("+");x-=t;}
}int main()
{scanf("%d",&n);dfs(n);return 0;
}
PS:最近在斯克二分的题目,这是luogu的分治模块里的题目,久违的秒切题,开心一下午~~~~~
luogu1010:幂次方相关推荐
- HashMap 的长度为什么是 2 的幂次方?
HashMap 的长度为什么是 2 的幂次方? 为了能让HashMap存取高效,尽量减少碰撞,需要将散列表的数据分配均匀.使用HashMap查询或插入数据时,需要先对数组长度取模运算,index = ...
- 将整数拆分为2的幂次方
任意一个正整数都可以用2的幂次方表示,例如:137=2^7+2^3+2^0,同时约定次方用括号来表示,即a^b=a(b).由此可知,137可表 示:2(7)+2(3)+2(0).进一步:7=2^2+2 ...
- 08、求x的y的幂次方的最后3位数——循环
求x的y的幂次方的最后3位数 求x的y的幂次方的最后3位数 程序代码如下: /*2017年3月12日14:07:05功能:程序求x的y的幂次方的最后3位数*/#include"stdio.h ...
- 快速判断一个数是否是4的幂次方,若是,并判断出来是多少次方! .
将4的幂次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个1(1在奇数位置),并且1后面跟了偶数个0: 因此问题可以转化为判断1后面是否跟了偶数个0就可以了. 4的整数次幂的二进制数都为 ...
- 【数据结构与算法】之判断一个整数是否是 4 的幂次方的高逼格算法
一.题目要求 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例一: 输入: 16输出: true 示例二: 输入: 5输出: false 进阶: 你能不使用循环 ...
- 8758:2的幂次方表示
8758:2的幂次方表示 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 任何一个正整数都可以用2的幂次方表示.例如: 137=27+23+20 同时约定方次 ...
- Java递归例子——求x的y幂次方
假设n的值大于0. 一:源程序: View Code package one; public class RecursionTest { /** * @param args */ public sta ...
- 2.2 基本算法之递归和自调用函数 8758 2的幂次方表示 python
http://noi.openjudge.cn/ch0202/8758/ """ 2.2 基本算法之递归和自调用函数 8758 2的幂次方表示 python http:/ ...
- 快速判断一个数是否是2的幂次方
public class Test {public static void main(String[] args) {int num = 10;if (0 == (num & (num - 1 ...
- 信息学奥赛一本通 1208:2的幂次方表示 | OpenJudge 2.2 8758:2的幂次方表示 | 洛谷 P1010 [NOIP1998 普及组] 幂次方
[题目链接] ybt 1208:2的幂次方表示 OpenJudge 2.2 8758:2的幂次方表示 洛谷 P1010 [NOIP1998 普及组] 幂次方 [题目考点] 1. 递归 [解题思路] 递 ...
最新文章
- Boost源码剖析之:容器赋值-assign
- HD 1213 How Many Tables(裸 并查集)
- 挖洞经验 | 看我如何发现“小火车托马斯”智能玩具APP聊天应用漏洞
- python递归详解_Python理解递归的方法总结
- 极端情况下收缩 Go 进程的线程数
- APP视觉稿该怎么切图和标注
- 单调栈 leetcode整理(一)
- 聚类效果评价——Davies-Bouldin(DB指标)——内部评估标准(3)
- kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 【转】
- java网络编程3 -- NIO一些简单说明
- 深度学习2.0-39.RNN训练难题-梯度弥散与梯度爆炸
- 图像增强--视网膜皮层Retinex算法(二)
- java初级求职简历,初级Java软件工程师求职简历范文
- Android实现思维导图功能,Android打造思维导图
- DSP CCS12.00 芯片:TMS320F28335 结课设计 数字电压表 TFTLCD 模块 + ADC 模块
- 【最新】滤器完整性检测各国规定
- Abp Vnext修改密码强度
- 解决字符串存在\u6d4b\u8bd5\u5206\u7c7等中文汉字(乱码)(unicode码)
- 推荐系统经典论文文献及业界应用
- 【调剂】重庆理工大学2022年硕士研究生招生调剂公告