“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!
答案 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}}称为“百分之一”。
因此,在您的示例中,您将比较最右边的5
和6
。
(另请注意,它表示“数字”而不是“数字 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