如何在c#中生成具有其元素的特定总和的数组?

伊利亚·古特尼科夫(IlyaGutnikov)

如何生成具有特定元素和的数组?是否存在这样的算法?

我尝试这样的事情:

        var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        string serial = "";

        int chekSumBlockOne = 280;
        int checkSumBlockOne_tmp = 0;
        var blockOne = new char[4];

        var random = new Random();
        while (chekSumBlockOne != checkSumBlockOne_tmp)
        {
            checkSumBlockOne_tmp = 0;

            for (int i = 0; i < blockOne.Length; i++)
            {
                blockOne[i] = chars[random.Next(chars.Length)];
            }

            foreach (char symbol in blockOne)
            {
                checkSumBlockOne_tmp += (int)symbol;
            }

        }

但是我的方法很慢。

苏吉思·卡里维利

就像其他评论一样,Random将不是一个更好的选择。我建议您从1(如果值的总和小于100迭代到Some,N然后取每个级别中字符的All组合,然后将值与给定的总和进行比较。收到任何可能的字符串后,请中断循环。这是给你的一个例子:

var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
int chekSumBlockOne = 280;
List<string> possibleOutComes = new List<string>();
var qw = chars.Select(x => x.ToString());
int numberOfChars = 4;
for (int i = 0; i < numberOfChars; i++)
{
    qw = qw.SelectMany(x => chars, (x, y) => x + y);
    possibleOutComes = qw.Where(x => x.Sum(y => (int)y) == chekSumBlockOne).ToList();
    if (possibleOutComes.Count > 0)
        break;
}

在这种情况下,您将获得满足条件的24391个组合(字符串包含4个字符@ i = 3)。其中一些如下:

AAAU
AABT
AACS

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MATLAB中生成具有特定重复元素的数组

来自分类Dev

如何在C ++中生成具有固定总和的随机值

来自分类Dev

如何在C#中生成多维数组的源代码

来自分类Dev

如何在Java中生成具有N个可能元素(M> N)的数组列表(全部长度为M)?

来自分类Dev

如何在C#中生成具有3个字母和6个数字的随机字母数字数组?

来自分类Dev

在C ++中生成具有固定总和的随机值

来自分类Dev

如何在映射到具有x:Name属性的元素的基础类中生成属性

来自分类Dev

如何在 C# 中生成 Accord.Math.Sparse<double> 元素?

来自分类Dev

如何在R中生成具有重复值的列

来自分类Dev

如何在C ++中生成具有均值的随机数?

来自分类Dev

如何在 C# 中生成带有向下旋转 90 度字母的 Excel 文件?

来自分类Dev

如何在MATLAB中生成具有介于-3和3之间但不是0的随机整数元素的矩阵

来自分类Dev

在R中生成具有列总和约束的矩阵

来自分类Dev

如何在C#中生成CUSIP校验位

来自分类Dev

如何在C#中生成坐标系?

来自分类Dev

如何在C#中生成唯一的代码?

来自分类Dev

如何在 C# 中生成共享访问签名令牌

来自分类Dev

如何在 C# 中生成 HMAC 签名

来自分类Dev

xsd.exe生成的c#具有数组中的多个元素

来自分类Dev

如何在其数组元素中找到具有特定值的所有实体?

来自分类Dev

在 C# 中生成特定的 xml 语法

来自分类Dev

如何在jQuery中生成字母数组?

来自分类Dev

如何在C#中生成没有重复(字符)的随机长度为26的字符串?

来自分类Dev

如何在具有许多列的pandas数据框中生成列的所有可能组合?

来自分类Dev

如何获得带有嵌套数组且其元素具有唯一顺序的数组?

来自分类Dev

如何在 C# 中构建结构列表数组(具有预定义的数组大小)

来自分类Dev

如何在c#中生成与先前随机生成的相同的密钥

来自分类Dev

如何删除具有特定数量元素的子数组

来自分类Dev

如何使用C#生成具有特定结构的XML文件?

Related 相关文章

  1. 1

    在MATLAB中生成具有特定重复元素的数组

  2. 2

    如何在C ++中生成具有固定总和的随机值

  3. 3

    如何在C#中生成多维数组的源代码

  4. 4

    如何在Java中生成具有N个可能元素(M> N)的数组列表(全部长度为M)?

  5. 5

    如何在C#中生成具有3个字母和6个数字的随机字母数字数组?

  6. 6

    在C ++中生成具有固定总和的随机值

  7. 7

    如何在映射到具有x:Name属性的元素的基础类中生成属性

  8. 8

    如何在 C# 中生成 Accord.Math.Sparse<double> 元素?

  9. 9

    如何在R中生成具有重复值的列

  10. 10

    如何在C ++中生成具有均值的随机数?

  11. 11

    如何在 C# 中生成带有向下旋转 90 度字母的 Excel 文件?

  12. 12

    如何在MATLAB中生成具有介于-3和3之间但不是0的随机整数元素的矩阵

  13. 13

    在R中生成具有列总和约束的矩阵

  14. 14

    如何在C#中生成CUSIP校验位

  15. 15

    如何在C#中生成坐标系?

  16. 16

    如何在C#中生成唯一的代码?

  17. 17

    如何在 C# 中生成共享访问签名令牌

  18. 18

    如何在 C# 中生成 HMAC 签名

  19. 19

    xsd.exe生成的c#具有数组中的多个元素

  20. 20

    如何在其数组元素中找到具有特定值的所有实体?

  21. 21

    在 C# 中生成特定的 xml 语法

  22. 22

    如何在jQuery中生成字母数组?

  23. 23

    如何在C#中生成没有重复(字符)的随机长度为26的字符串?

  24. 24

    如何在具有许多列的pandas数据框中生成列的所有可能组合?

  25. 25

    如何获得带有嵌套数组且其元素具有唯一顺序的数组?

  26. 26

    如何在 C# 中构建结构列表数组(具有预定义的数组大小)

  27. 27

    如何在c#中生成与先前随机生成的相同的密钥

  28. 28

    如何删除具有特定数量元素的子数组

  29. 29

    如何使用C#生成具有特定结构的XML文件?

热门标签

归档