一、题目
二、思路
1.考虑需要解决的问题:
(1)求出2^p-1的位数;
(2)求出2^p-1的最后500位;
(不用判断2的p次方减1和p是否是素数)
2.先解决第一个问题:求出2^p-1的位数
N = 10 -> 位数为2;
N = 100 -> 位数为3;
N = 1000 -> 位数为4;
N = 12345 -> 位数为5;
可见自然数N的位数等于lg(N) + 1
所以,2的p次方减1的位数为:lg(2^p-1) + 1。有同学到这里就懵了,不会解,赶紧百度-_-。