求组合数的算法 java,求一个整数的组合数算法(java)
开始需求:
产生一堆数字. 然后我输入一值,这个值等于这些数中的一个,或是任意多个数的和.但只能是其中一种情况.
比如我输入8.这些数里面,可以直接有8. 也可以是1+2+5 的和,也可以是 1+7 等.....但是只能是其中一种情况.
在网上看到了下面这篇文章:
后来朋友谈到2的N次方,然后就想到了一个求一个整数的组合数的算法:
package suanfa;
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
/**
* 2的N次方计算
*
*
* 2的N次方序列:1、2、4、8、16...
*/
int sum = (int) Math.pow(2, 2);
System.out.println("2的2次方:" + sum);
System.out.println("10转换成二进制:" + Integer.toBinaryString(10));
System.out.println("================");
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int m = sc.nextInt();
// 十进制转二进制
String str = Integer.toBinaryString(m);
System.out.println("str==对应二进制字符串=" + str + ",str.length()=="
+ str.length());
/**
* 判断二进制位上是否为1,如果为1则得到相应位置十进制数(即所得组合数之一)
*/
for (int i = 0; i < str.length(); i++) {
int aa;
String strindex = str.substring(i, i + 1);
// System.out.println("str.substring(i, i+1)===="+str.substring(i,
// i+1));
if (strindex.equals("1")) {
aa = str.length() - i - 1;
System.out.println("i===" + i + ",这是2的" + aa + "次方"
+ ",相应组合数等于:" + (int) Math.pow(2, aa));
}
}
}
}
====================================
测试结果:
求组合数的算法 java,求一个整数的组合数算法(java)相关推荐
- Java 求一个整数的个位,十位,百位,千位。
import java.util.Scanner; public class Text { public static void main(String[] args){ Scanner ...
- 算法 - 快速求一个整数的7倍
分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 乘法运算相对比较慢,所以快速的方法就是将这个乘法转换 ...
- 算法 快速求一个整数的7倍
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 乘法运算 ...
- Java 求一个整数数组的奇数和偶数的个数
public class Array{public static void main(String[] args){int n=0,m=0;int a[]={12,45,89,44,36,52,78, ...
- C++求一个整数的各位数字总和(附完整源码)
C++求一个整数的各位数字总和算法 C++求一个整数的各位数字总和算法完整源码(定义,实现,main函数测试) C++求一个整数的各位数字总和算法完整源码(定义,实现,main函数测试) int su ...
- Java黑皮书课后题第6章:*6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和。使用下面的方法头:public static int sumDigits(long n)
6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和.使用下面的方法头:public static int sumDigits(long n) 题目 题目概述 槽点 代码 运行示例 ...
- Java黑皮书课后题第2章:2.6(求一个整数各位数的和)读取一个0和1000之间的整数,并将给整数的各位数字相加
2.6(求一个整数各位数的和)读取一个0和1000之间的整数,并将给整数的各位数字相加 题目 题目描述 运行示例 题目槽点与破题 题目槽点 破题 如何提取数字 代码块 方法评价 题目 题目描述 2.6 ...
- 求一个整数的阶乘结果中后缀0的个数
问题描述: 给一个整数,请输出该数字阶乘的后缀0的个数,例如: 数字7,它的阶乘为5040,后面有一个0,则输出1:还有数字10,它的阶乘为3628800,后面有两个0,则输出2. /* 功能:求一个 ...
- C/C++求一个整数的二进制中1的个数
求一个整数的二进制中1的个数 收藏 题目:输入一个整数,求该整数的二进制表达中有多少个1.例如输入10,由于其二进制表示为1010,有两个1,因此输出2. 分析:这是一道很基本的考查位运算的面试题.包 ...
最新文章
- 在php中存redis数据,redis缓存都存哪些数据
- Python中的线程threading.Thread()使用详解
- pycharm 波浪线报绿 Typo: In word 'xxxx'(绿色波浪线)
- [数据加密]GIS空间数据水印信息隐藏与加密技术方法[转]
- 递归求和的复习-计算m~n整数和
- 在 idea 中为类和方法自动生成注释
- SharePoint 2013 基于表单 Membership 的身份验证
- python实现录音小程序 界面_微信小程序录音界面以及功能实现
- 计算机科学素养大赛,第六届全国大学生计算机应用能力与信息素养大赛圆满结束...
- sdk manager更新失败,显示Download interrupted: read timed out,应该如何解决?
- 安卓和win环境下扫描局域网下设备IP的工具
- MarkDown 下载-安装
- opencv基于模板匹配的银行卡卡号识别项目实战
- Proxmox VE桌面虚拟化
- 如何成为一名程序员?
- 如何设计一个C++的类?
- 云服务器有什么用途?新手如何使用云服务器
- Java8新特性之Joining
- 【C++】什么情况下会产生临时变量
- SEO批量文章繁简转换,同义词替换
热门文章
- zookeeper + kafka集群搭建详解
- php endall(),从G_BEGIN_DECLS和 G_END_DECLS说起
- linux lcd驱动调试 echo dev/fb0,LCD驱动程序 - osc_msmij2gf的个人空间 - OSCHINA - 中文开源技术交流社区...
- python链表怎么定义_python:链表定义以及实现
- Java 中JProgressBar,Java JProgressBar
- CNCF TOC 委员张磊:不断演进的云原生给我们带来了什么?
- 2020年阿里云边缘计算和CDN的关键词
- 揭秘 | 连续3年支撑双11,阿里云神龙如何扛住全球流量洪峰?
- 八位技术专家分享他们最喜欢的物联网技术
- R语言数据挖掘实践——系谱聚类