Как рассчитать, если число кратно другому числу (ну вроде) - PullRequest
0 голосов
/ 09 апреля 2011

Пожалуйста, у меня есть НОМЕР, скажем, 9, и я хочу найти, как создать программу, чтобы проверить, может ли число b быть 21 (то есть 9 + 12) или 33 (то есть 9 + 24) или 45 (9 + 36) ) и так далее. Могу ли я получить его в C # или SQL

Ответы [ 4 ]

8 голосов
/ 09 апреля 2011

С пояснением похоже, что вы хотите узнать, существует ли целое число x, для которого (в математических терминах, а не в коде)

b = 9 + 12x

верно; поэтому вы хотите знать, является ли b-9 кратным 12; что легко:

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

и если вы хотите знать, какие x:

int x = (b - 9) / 12;
3 голосов
/ 09 апреля 2011

Это не совсем понятно из вашего вопроса, но я думаю, что вы ищете оператор по модулю . 21 % 12 = 9, 33 % 12 = 9, 45 % 12 = 9.

В C # и SQL это просто % и используется как арифметический оператор (+, - и т. Д.)

1 голос
/ 09 апреля 2011

Я думаю, что у вас есть три переменные, и тогда решение будет таким:

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;
}
0 голосов
/ 09 апреля 2011

Вычтите свое исходное число (в данном случае 9) из числа B, а затем посмотрите, отличается ли B% 12 от нуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...