1234567890这几个数有多少六位数字组合的组合方式,分别列举出来

组成六位数可以重复_百度作业帮
组成六位数可以重复
组成六位数可以重复
共有<9乘10的5次方>种法....十个数字,任选其中的四个数字组成一个四位数(包括0000,0xxx)那么一共有多少个四位数?是两个,例如24,23......等.排列顺序不同就是两个._百度作业帮
十个数字,任选其中的四个数字组成一个四位数(包括0000,0xxx)那么一共有多少个四位数?是两个,例如24,23......等.排列顺序不同就是两个.
十个数字,任选其中的四个数字组成一个四位数(包括0000,0xxx)那么一共有多少个四位数?是两个,例如24,23......等.排列顺序不同就是两个.
10000 每一位都有10种填法 四位就是10*10*10*10=10000种
如果每个数字可以重复,不限次数和顺序的话,就是一万个四位数。
用排列组合来计算:如果十个数字中,选择过的还可以再选择,那么结果就是10*10*10*10=10000个如果十个数字中,选择过的就不能再选择,那么结果就是10*9*8*7=5040个下次自动登录
现在的位置:
& 综合 & 正文
计算字符的组合量并一一列举出来(java,算法探讨)
保留版权,转载请注明出处!
今天在csdn逛的时候,碰到一个问题。“写出用 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
这些字符拼出来的所有长度小于等于12位的文件名(扩展名不用考虑)。”引用自:http://topic.csdn.net/u//-aa24-4c98-9bd2-cc4.html?seed=这是我的实现,主要分了两个部分:1、核心实现,以API方式只是写了两个static public的方法。2、TestCase,这是单元测试,也是使用示范。基本思想就是:1、计算可能的组合量2、for循环一一列出来,核心思想就是 数字的进制转换 。
package niko7;import java.math.BigI/** *//** * 转载、引用必须保留此信息。 * @author niko7, (顾法华,杭州) * */public class MyTest...{
* 计算组合总量。
* 总共有m个不同的字符,允许最多n个字符组成一字符串,计算总共有多少总组合。
* @param charCount 字符的数量
* @param maxLen 字符串的最大长度(最多允许的个数,1-maxLen都是符合要求的)
* @return 可能的组合的总数
public static BigInteger getTotal(int charCount,int maxLen)
if(1==charCount)
return BigInteger.valueOf(maxLen);
BigInteger m = BigInteger.valueOf(charCount);
BigInteger total = m.pow(maxLen+1);
total = total.subtract(BigInteger.ONE);
total = total.divide(m.subtract(BigInteger.ONE));
return total.subtract(BigInteger.ONE);
* 数字到字符串的转换方法。
* 进制转换的修改版本,去掉了“零”的概念,允许高位为“0”,拼出各种字符组合。
* 从外部输入 stringbuffer 和 radix ,是为了加快速度。
* @param stringBuffer 转换后的结果放入这里。
* @param num 需要转换的数字
* @param radix 进制。注意和chars匹配!
* @param chars 转换进制时使用的字符。注意和radix匹配!
public static void number2String(StringBuffer stringBuffer,BigInteger num,BigInteger radix,char[] chars)
BigInteger cIndex = num.remainder(radix);
stringBuffer.insert(0, chars[cIndex.intValue()]);
if (pareTo(radix) &= 0)
num = num.subtract(cIndex);
num = num.divide(radix);
num = num.subtract(BigInteger.ONE);
number2String(stringBuffer,num, radix, chars);
下面是TestCase:
package niko7;import java.math.BigIimport junit.framework.TestC/** *//** * 转载、引用必须保留此信息。 * @author niko7, (顾法华,杭州) * email: * */public class MyTestTest extends TestCase...{
protected void setUp() throws Exception
super.setUp();
protected void tearDown() throws Exception
super.tearDown();
public void testGetTotal()
//就一个字符,最大12,那么就是12中可能
assertEquals(BigInteger.valueOf(12),MyTest.getTotal(1,12));
//两个字符,最大3,那么就有14
assertEquals(BigInteger.valueOf(14),MyTest.getTotal(2,3));
//3个字符,最大3,那么就有39种
assertEquals(BigInteger.valueOf(39),MyTest.getTotal(3,3));
public void testNumber2String()
char[] chars = "012".toCharArray();
BigInteger charArrayLen = BigInteger.valueOf(chars.length);
StringBuffer sb = new StringBuffer();
BigInteger i = BigInteger.valueOf(38);
String expected = "222";
MyTest.number2String(sb,i,charArrayLen, chars);
System.out.println(sb);
assertEquals(expected, sb.toString());
sb = new StringBuffer();
i = BigInteger.valueOf(20);
expected = "022";
MyTest.number2String(sb,i,charArrayLen, chars);
System.out.println(sb);
assertEquals(expected, sb.toString());
public void testDemo()
char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".toCharArray();
//char[] chars = "0123456".toCharArray();
int charCount = chars.
int maxLen = 12;
BigInteger charArrayLen = BigInteger.valueOf(charCount);
BigInteger t = MyTest.getTotal(charCount,maxLen);
System.out.println("共有可能的组合数量:"+t);
for(BigInteger i = BigInteger.ZERO; i.compareTo(t)&0; i=i.add(BigInteger.ONE))
if(i.compareTo(BigInteger.valueOf(30000))&0)
System.out.println("运算量很大的,提前撤了!");
StringBuffer sb = new StringBuffer();
MyTest.number2String(sb,i,charArrayLen, chars);
System.out.println(i+" "+sb);
&&&&推荐文章:
【上篇】【下篇】一个六位数的密码能产生多少组合 可以用什么简单方法把他算出来??_百度知道
一个六位数的密码能产生多少组合 可以用什么简单方法把他算出来??
我有更好的答案
简单来说就是 10*10*10*10*10*10=1000000
?9*4=4*(000-4=39996
其他类似问题
为您推荐:
六位数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁从0-9中选出6个数字,组合成的六位数有多少啊_百度知道
从0-9中选出6个数字,组合成的六位数有多少啊
0可以排在第一位
不是数字是210个
提问者采纳
6的10次方个。
提问者评价
其他类似问题
为您推荐:
六位数的相关知识
其他4条回答
6的10次方个。
9*10*10*10*10*10=多少你自己算吧,高中数学题,幸亏还记得……
全排是A(下标是10下标是6)用排列的方法0不能排第一位那么后五位在1-9中任排即A(下标为9上标位5)前后相减 得136080
6的10次方个
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 1234567890是什么号码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信