Math 如何在不使用模数(%)运算符的情况下获取数字的最后一位?

Math 如何在不使用模数(%)运算符的情况下获取数字的最后一位?,math,modulus,Math,Modulus,如果我们被告知不能使用模运算符,那么我们怎么能 找出数字的最后一位 例如 N=2345,我们应该得到5 尝试提供一个通用的解决方案 我的发现: N- N/ 10 * 10 您提供的公式将起作用 一般来说,对于大于等于0的整数,这总是正确的 A%B=A-[A/B]*B,其中[x]表示最大整数您提供的公式有效 一般来说,对于大于等于0的整数,这总是正确的 A%B=A-[A/B]*B,其中[x]表示通过强制转换得到的最大整数。 但这需要一些检查之前 简单的例子: int num = 15; doub

如果我们被告知不能使用模运算符,那么我们怎么能 找出数字的最后一位

例如
N=2345,
我们应该得到5

尝试提供一个通用的解决方案

我的发现:

N- N/ 10 * 10

您提供的公式将起作用

一般来说,对于大于等于0的整数,这总是正确的


A%B=A-[A/B]*B,其中[x]表示最大整数您提供的公式有效

一般来说,对于大于等于0的整数,这总是正确的

A%B=A-[A/B]*B,其中[x]表示通过强制转换得到的最大整数。 但这需要一些检查之前

简单的例子:

int num = 15;
double d = num/10; //d = 1.5
num = num/10;  //num = 1;
int lastNumber = (d - (double)num) * 10; 
通过铸造。 但这需要一些检查之前

简单的例子:

int num = 15;
double d = num/10; //d = 1.5
num = num/10;  //num = 1;
int lastNumber = (d - (double)num) * 10; 


但不适用于双打。记得先转换成int。但是%10将不适用于双打。记得先转换成int。但是10%会