如何在没有条件检查(if,三元制等)的情况下检查一个数是否能被另一个数整除



我有一个数字,例如x,我想检查它是否能被Y(另一个数字)整除。如果它能被Y整除,我需要返回1,否则返回0。但是我不允许使用if条件,三元运算符,等号等。有什么建议吗?

如果变量X能被3整除,该表达式返回true

X % 3 == 0

可以使用模运算符

return ((double)number) % 3.0d == 0

不使用任何条件,包括==(实际上也是下面的条件)

基于此答案的位处理

var mod = unchecked((uint)(a % b));
mod = ((mod - 1U) & ~mod) >> 31;
return Unsafe.As<uint, bool>(ref mod);
// for earlier versions of .Net, do the below in an unsafe method
return *(bool*)&mod;

dotnetfiddle

相关内容

  • 没有找到相关文章

最新更新