целое число — C ++ получает каждое число отдельно

У меня есть диапазон чисел от 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.

-1

Решение

Попробуй это:

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
2

Другие решения

возможно, посмотрите на целочисленное деление и по модулю.

int k1 = (x / 10) % 10 // "10s"int k2 = ( x / 100 ) % 10 // "100s"//etc etc
2

Используйте модуль по модулю, чтобы получить последнюю цифру числа, затем разделите на десять, чтобы отбросить последнюю цифру.

Повторите, пока число ненулевое.

1

Что вам нужно, это оператор модуля %, Делает деление и возвращает напоминание.

1 % 2 = 1
2 % 2 = 0
3 % 2 = 1
4 % 2 = 0
...
0

например. возьмите 232:

int num = 232;
int at_ones_place = num % 10;
int at_tens_place = ( num /10 ) % 10 ;
int at_hundreds_place = (num /100);
-2
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector