你如何计算一个数字是否是另一个数字的倍数(等等)

时间:2011-04-09 11:28:46

标签: c# sql

,我有一个号码说9,我想找到如何创建程序来检查数字b是21(即9 + 12)还是33(即9 + 24)或45(9 + 36) ) 等等。我可以用C#或SQL

获取它吗?

4 个答案:

答案 0 :(得分:8)

通过澄清,看起来你想要找出是否有一个整数x(用数学术语,而不是代码)

b = 9 + 12x

是真的;所以你想知道b-9是否是12的某个倍数;这很容易:

bool isMatch = ((b - 9) % 12) == 0;

如果你想知道哪个x

int x = (b - 9) / 12;

答案 1 :(得分:3)

你的问题并不完全清楚,但我认为你正在寻找modulo operator21 % 12 = 933 % 12 = 945 % 12 = 9

在C#和SQL中,这只是%,它像算术运算符一样使用(+, - 等)

答案 2 :(得分:1)

我认为你有三个变量,解决方案就是这样:

var a = 9;
var b = 12;
var c = 21;

var isInRange = IsInRange(c, a, b);

private bool IsInRange(int input, int offset, int multiple){
    return ((input - offset) % multiple) == 0;
}

答案 3 :(得分:0)

从数字B中减去原始数字(在本例中为9),然后查看B%12是否与零不同。