比如 用 a,b,c,d 4个字符组成一个8个长度的字符串,问一共有多少可能,应该有4的8次方种,用代码简单实现

 private string[] AAA()
{
string[] cs = { "a", "b", "c", "d" };
string[] ts = new string[];
string[] ss = new string[Convert.ToInt32(Math.Pow(cs.Length, ))];
int index = ;
for (int i_0 = ; i_0 < cs.Length; i_0++)
{
for (int i_1 = ; i_1 < cs.Length; i_1++)
{
for (int i_2 = ; i_2 < cs.Length; i_2++)
{
for (int i_3 = ; i_3 < cs.Length; i_3++)
{
for (int i_4 = ; i_4 < cs.Length; i_4++)
{
for (int i_5 = ; i_5 < cs.Length; i_5++)
{
for (int i_6 = ; i_6 < cs.Length; i_6++)
{
for (int i_7 = ; i_7 < cs.Length; i_7++)
{
ts[] = cs[i_0];
ts[] = cs[i_1];
ts[] = cs[i_2];
ts[] = cs[i_3];
ts[] = cs[i_4];
ts[] = cs[i_5];
ts[] = cs[i_6];
ts[] = cs[i_7];
ss[index++] = String.Join("-", ts);
}
}
}
}
}
}
}
}
return ss;
}

上面的代码显然还是可以优化的

private string[] BBB()
{
string[] cs = { "a", "b", "c", "d" };
int power = ;
string[] ss = new string[Convert.ToInt32(Math.Pow(cs.Length, power))];
string[] ts = new string[power];
int i = ;
int index = ;
Recur(cs, ref i, power - , ts, ref index, ss);
return ss;
} private void Recur(string[] cs, ref int i, int power, string[] ts, ref int index, string[] ss)
{
for (int j = ; j < cs.Length; j++)
{
ts[i] = cs[j];
if (i < power)
{
i++;
Recur(cs, ref i, power, ts, ref index, ss);
}
else
{
ss[index++] = String.Join("-", ts);
}
}
i--;
}

C# 简单的统计指定几个字符组合的所有结果的更多相关文章

  1. Day_13【IO流】扩展案例2_统计指定项目文件中字符出现的次数

    需求分析 统计当前项目下info2.txt文件中, 每个字符出现的个数 文件内容如下: welcome to itheima!!! 最终效果如下: w(1) (2)!(3)t(2)e(3)c(1)a( ...

  2. 在当前光标处按指定属性显示字符 - BOIS中断

    在当前光标处按指定属性显示字符 - BOIS中断 最简单的调试方式是打印. 编写MBR时,判断MBR是否加载并运行,最直接的方式就是打印一个字符. INT 0x10 功能描述: 在当前光标处按指定属性 ...

  3. Python基础-使用range创建数字列表以及简单的统计计算和列表解析

    1.使用函数 range() numbers = list(range[1,6]) print (numbers) 结果: [1,2,3,4,5] 使用range函数,还可以指定步长,例如,打印1~1 ...

  4. 怎么统计指定文件夹下含有.xml格式的文件数目

    如何统计指定文件夹下含有.xml格式的文件数目?如题 ------解决思路----------------------Directory.GetFiles(@"路径", " ...

  5. 字串符相关 split() 字串符分隔 substring() 提取字符串 substr()提取指定数目的字符 parseInt() 函数可解析一个字符串,并返回一个整数。

    split() 方法将字符串分割为字符串数组,并返回此数组. stringObject.split(separator,limit) 我们将按照不同的方式来分割字符串: 使用指定符号分割字符串,代码如 ...

  6. [SQL]SUTFF内置函数的用法 (删除指定长度的字符并在指定的起始点插入另一组字符)

    STUFF 删除指定长度的字符并在指定的起始点插入另一组字符. 语法 STUFF ( character_expression , start , length , character_express ...

  7. 《Python CookBook2》 第一章 文本 - 过滤字符串中不属于指定集合的字符 && 检查一个字符串是文本还是二进制

    过滤字符串中不属于指定集合的字符 任务: 给定一个需要保留的字符串的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素. 解决方案: impor ...

  8. Java基础知识强化之集合框架笔记61:Map集合之统计字符串中每个字符出现的次数的案例

    1. 首先我们看看统计字符串中每个字符出现的次数的案例图解: 2. 代码实现: (1)需求 :"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5) ...

  9. 已知一个字符串S 以及长度为n的字符数组a,编写一个函数,统计a中每个字符在字符串中的出现次数

    import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 21:04 * @description ...

随机推荐

  1. Python之Tab键自动补全

    首先备份一下Tab键自动补全代码: # python start file import sys import readline import rlcompleter import atexit im ...

  2. .Net Core身份认证:IdentityServer4实现OAuth 2.0 客户端模式

    一.客户端模式介绍 客户端模式(Client Credentials Grant)是指客户端直接向认证服务(Authorization Server)发送认证请求,获取token,进行认证,一般适用于 ...

  3. Hibernate4教程一:入门介绍

    第一部分:Hibernate入门 Hibernate是什么     Hibernate是一个轻量级的ORM框架     ORM原理(Object Relational Mapping)     ORM ...

  4. C基础学习记录

    函数 1:子函数定义的变量只在调用的时候才会分配空间,调用结束后会收回空间. 2:在调用子函数时只会向函数传递值,是单向传递的. 3.返回值的类型一般与函数的类型一致,如果不一致会以函数类型为准. 4 ...

  5. node js实战:带数据库,加密的注册登录表单

    demo 注册效果: 登陆效果:        数据库截图: 数据库操作 db.js //这个模块里面封装了所有对数据库的常用操作 var MongoClient = require('mongodb ...

  6. MyBatis 传递多个参数的几种方法

      简介: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简 ...

  7. 批量新增数据(BuckCopy)

    批量新增数据(BuckCopy) 使用webService传输数据时要注意,Datatable中的数据类型,以及科学计数 /// <summary> /// 批量新增数据 /// < ...

  8. PHP fpassthru() 函数

    定义和用法 fpassthru() 函数输出文件指针处的所有剩余数据. 该函数将给定的文件指针从当前的位置读取到 EOF,并把结果写到输出缓冲区. 语法 fpassthru(file) 参数 描述 f ...

  9. 组合数学(math)

    组合数学(math) 题目描述 为了提高智商,zjy开始学习组合数学.某一天她解决了这样一个问题:“给一个网格图,其中某些格子有财宝.每次从左上角出发,只能往右或下走.问至少要走几次才能把财宝全部捡完 ...

  10. RabbitMQ-----的基本安装

    RabbitMQ的基本安装 一 docker下安装RabbitMQ 首先使用 docker search rabbitmq命令查找docker仓库是否存在rabbitmq镜像,可以发现docker仓库 ...