2015-06-07 4 views
0

Если нам говорят, что мы не можем использовать оператор модуля, то как мы можем взять из последней цифры числа.Как получить последнюю цифру числа без использования модуля (%) оператора?

например.
N=2345, мы должны получить 5.

Try, чтобы обеспечить общее решение.

То, что я нашел:

N- N/ 10 * 10 

ответ

5

формула вы предоставили будет работать.

Вообще говоря, для целых чисел> = 0 это всегда будет истинным

A% B = A - [А/В] * В, где [х] обозначает наибольшее целое число < = х

+1

именно то, что я искал .. родового и элегантное решение :) ... – Cyclotron3x3

+0

не будет работать с двойниками, хотя. Не забудьте сначала преобразовать в int. Но% 10 –

0

По Кастинг. , но это требует некоторых проверок.

простой пример:

int num = 15; 
double d = num/10; //d = 1.5 
num = num/10; //num = 1; 
int lastNumber = (d - (double)num) * 10; 
Смежные вопросы