求2p-1的最後500位數 (p<3100000)
以前碰到高精都是python**好
想寫一下c的高精,第一次寫,踩了好多坑
這個題是高精乘法+快速冪
第一小問是求位數,可以用乙個求位數的公式
k=log10(n)+1
2p-1和2p的位數是一樣的,所以直接求2p的位數即可
log10(2p)=p*log10(2)
**:
#include
#define ll long long
using
namespace std;
ll a[
1010
],s[
1010
],t[
1010];
void
result1()
}for
(int i=
1;i<=
500;i++)}
void
result2()
}for
(int i=
1;i<=
500;i++)}
intmain()
result2()
; p/=2
;}s[1]
--;cout
int i=
1;i<=
500;i++
)else
}return0;
}
洛谷P1045 麥森數
形如2 12p 1的素數稱為麥森數,這時p p 一定也是個素數。但反過來不一定,即如果p p 是個素數,2 12p 1不一定也是素數。到1998年底,人們已找到了37個麥森數。最大的乙個是p 3021377p 3021 377 它有909526位。麥森數有許多重要應用,它與完全數密切相關。任務 從檔...
洛谷P1045麥森數
題幹很簡單,就是要求2的p次方 1的位數和後500位。首先我們肯定不會去把這個數算出來,不然鐵t,那怎麼算位數呢?於是我們想一想數學方法因為2的p次方個位數必不為0,所以2的p次方 1的位數和2的p次方位數相同。又有10的n次方是n 1位數所以轉化一下2的p次方就是10的log10 2 p 1位數,...
洛谷 P1045 麥森數
不會快速冪的我只能瘋狂壓位 dalao們請無視 這是本蒟蒻滴第一篇洛谷題解還請多多包涵鴨!好吧先看看我的辛路歷程 剛看到這題的時候,我第一反應是壓位,於是我從未壓位到 5壓到 10,吸氧後發現後兩者都是60分 o o 於是乎我將2p次方轉化為1024n m,以及220n m來運算,結果只有70分 最...