c# - 是否有确定总和中是否存在素数的函数?
问题描述
我有代表素数的常数。例如,
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 时,是否有一个函数可以返回总和的质数部分,即 2,23?
解决方案
不。
但是你可以通过使用标志来实现你想要的。只是不要将 0 用作列表中值之一的标志之一。0 只能表示无,因为您永远无法检查是否添加了 0。并且这些值必须是 2 的幂。所以:1、2、4、8,... 如果您long
用于计算符号位,则最多只能有 63 个值(除了 0)。我认为如果您使用ulong
.
例子:
[Flags]
enum Signals : long
{
None = 0,
LONGPULLBACK = 1,
SHORTPULLBACK = 2,
RSIOVERSOLD = 4,
RSIOVERBOUGHT = 8,
//etc.
};
(我要补充一点,如果你将数字相乘,你试图做的事情会起作用。但这会使数字变得非常大。而且,分解不会那么简单。)
推荐阅读
- groovy - 使用 Groovy 在 SoapUI 中使用 Xpath 查询在 XML 节点中使用 xsi 获取属性值
- r-exams - 如何配置 R/Exams 以使用系统 LaTeX?
- javascript - 在对象数组中查找元素
- javascript - 我试图建立一个网站,javascript数学不起作用
- python - 将熊猫列与python中的数字相乘
- android - android - 在 TextView 元素的底部添加边框
- php - Wordpress 重写规则导致 302 重定向循环
- php - 如何从moodle url中删除子目录?
- python - 与 python 的回文
- python - 总结二叉树中的节点深度