“n的单位数”的含义是什么意思?

时间:2013-08-17 15:41:19

标签: algorithm

“n的单位数”的含义是什么意思?

例如: abcd的单位数字的值是d还是a + b + c + d? (abcd是十进制数,等于a * 1000 + b * 100 + c * 10 + d)

单位数字的值为5 ^ 77,单位数字的值为6 ^ 47

哪个更大?

5 ^ 77 = 661744490042422139897126953655970282852649688720703125,6 ^ 47 = 3742042951225759540014535187298779136

虽然它不是与算法有关的问题,但它对于理解算法非常重要。

THX!

3 个答案:

答案 0 :(得分:1)

单位的值是小数点分隔符前的最后一位数:

5 ^ 77 = 66174449004242213989712695365597028285264968872070312 5 ,6 ^ 47 = 374204295122575954001453518729877913 6

或以另一种方式: number%10 的结果。

答案 1 :(得分:0)

“单位数字”也称为“个位数”或“一位数”。它是单位值为10^0的数字 - 整数的最右边数字,或小数点左边的数字。

同样,10^1数字通常称为“数十”,10^2称为“数百”,10^-1称为“十分之一”,10^-2称为“十分之一” {1}}称为“百分之一”。

因此,在您的示例中,您将比较最右边的56

(另请注意,它表示“数字”而不是“数字 s ” - 如果它是所有数字的总和我相信它会明确说出来。 )

答案 2 :(得分:0)

如在其他答案中所提到的,数字表示的“单位数字”是表示的最右边数字。

对于提到的问题(即,5 ^ 77和6 ^ 47中的哪一个具有较大的单位数字,当以基数10表示时)查看单位数字的相关方式是作为模数10的值的值也就是说,找出(5 ^ 77)%10和(6 ^ 47)%10中哪一个更大。许多语言也有pow版本,它们采用第三个参数,模数,并计算模幂运算。 (如下面ipython解释器的剪辑所示。)另请参阅维基百科的Euler's theorem文章,该文章首先说明了如何计算(7 ^ 222)%10。

In [1]: print 5**77; print 6**47
661744490042422139897126953655970282852649688720703125
3742042951225759540014535187298779136

In [2]: print (5**77)%10; print (6**47)%10
5
6

In [3]: print pow(5,77,10); print pow(6,47,10)
5
6