是否有确定总和中是否存在质数的函数?

is there a function to determine if prime number exists in the sum?

我有代表质数的常量。例如,

  enum Signals : long
    {
        LONGPULLBACK = 2,
        SHORTPULLBACK = 3,
        RSIOVERSOLD = 5,
        RSIOVERBOUGHT = 7,
        BOUGHTSIGNAL = 9,
        DOUBLEBOUGHTSIGNAL = 11,
        SOLDSIGNAL = 13,
        DOUBLESOLDSIGNAL = 17,
        MATRENDINGLONG = 19,
        MATRADENINGSHORT = 23


    }

对于每个触发的信号,我只是将其添加到总和中。每种类型总是只会触发 1 个信号。 当我的总和为 25 时,是否有一个函数可以 return 总和的质数部分,即 2,23?

没有

但是您可以通过使用标志实现您想要的。只是不要将 0 用作列表中某个值的标志之一。 0 只能表示 None 因为您永远无法检查是否添加了 0。并且这些值必须是 2 的幂。因此:1、2、4、8,...如果您使用 long 来计算符号位,则最多只能有 63 个值(0 除外)。如果你使用 ulong.

我想你可以获得 64

示例:

[Flags]
enum Signals : long
{
   None = 0,
   LONGPULLBACK = 1,
   SHORTPULLBACK = 2,
   RSIOVERSOLD = 4,
   RSIOVERBOUGHT = 8,
   //etc.
};

(我要补充一点,如果您将数字相乘,您尝试做的事情就会奏效。但这会使数字变得非常大。另外,decomposition wouldn't be as simple。)