博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
完美世界-2015校园招聘-java服务器工程师-成都站
阅读量:7123 次
发布时间:2019-06-28

本文共 706 字,大约阅读时间需要 2 分钟。

给定一个整数,将该整数分解成多个2的幂次方相加的形式,每次都取最大的可以分解出来的2的幂次方

比如 65 64 1 

      1 1

      2 2

package wanmanshijie;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Scanner;/** *  * @author guoxm * @date 2014-12-16 */public class PartitionNum {	public static void main(String args[]){		Scanner scanner = new Scanner(System.in);		int num = scanner.nextInt();		new PartitionNum().partition(num);	}		public void partition(int num){		List list = new ArrayList();		int helper = 1;		while(helper <= num){			if((helper&num) != 0){				list.add(helper);			}			helper = helper<<1;		}		Collections.reverse(list);		System.out.println(list);	}}

  

转载于:https://www.cnblogs.com/wuxinliulei/p/4168284.html

你可能感兴趣的文章
数据结构与算法(动态规划与贪婪算法) --javascript语言描述
查看>>
【360天】我爱刷题系列119(2018.01.31)
查看>>
netty
查看>>
【JavaScript 基础知识】一篇关于 JavaScript 一些知识点的总结 —— 持续更新
查看>>
你需要知道的 webpack 配置
查看>>
Android技术提升
查看>>
bind, apply, call
查看>>
Servlet 3.0 异步处理详解
查看>>
动画机制总结
查看>>
长长的望远镜
查看>>
在给予react的ANTD中如何改变某些固定项?
查看>>
慕课网_《使用Google Guice实现依赖注入》学习总结
查看>>
Calendar工具类对跨年的星期的处理个人总结
查看>>
云计算和DevOps那点事
查看>>
什么是客户端负载均衡
查看>>
【mongoDB查询进阶】聚合管道(二) -- 阶段操作符
查看>>
2017-07-15 前端日报
查看>>
Android布局优化:ViewStub标签实现延迟加载(源码解析原理)
查看>>
Webpack快速入门
查看>>
HandlerThread与AsyncQueryHandler源码分析
查看>>