У меня есть диапазон чисел от 100 до 999. Мне нужно получить каждое число отдельно от него и проверить, можно ли его разделить на 2. Например:
232
2 divided by 2 = 1 = true
3 divided by 2 = 1.5 = false
2 divided by 2 = 1 = true
и так далее.
Чтобы получить первое число, все, что мне нужно сделать, это разделить все число на 100.
int x = 256;
int k = x/100;
так x
будет иметь значение 2.
Теперь, есть ли способ проверить эти другие? Так как k = x/10;
было бы уже 25.
Попробуй это:
int x = 256;
int i = x / 100; // i is 2
int j = (x % 100) / 10; // j is 5
int k = (x % 10); // k is 6
возможно, посмотрите на целочисленное деление и по модулю.
int k1 = (x / 10) % 10 // "10s"int k2 = ( x / 100 ) % 10 // "100s"//etc etc
Используйте модуль по модулю, чтобы получить последнюю цифру числа, затем разделите на десять, чтобы отбросить последнюю цифру.
Повторите, пока число ненулевое.
Что вам нужно, это оператор модуля %
, Делает деление и возвращает напоминание.
1 % 2 = 1
2 % 2 = 0
3 % 2 = 1
4 % 2 = 0
...
например. возьмите 232:
int num = 232;
int at_ones_place = num % 10;
int at_tens_place = ( num /10 ) % 10 ;
int at_hundreds_place = (num /100);