• 2024-11-17P1045麦森数
    使用对数lg直接估算所求位数,每次乘以2^60大大加快速度(不够60再乘以更小的)9*2^60为10,376,293,541,461,622,784刚好不会超ull范围(18,446,744,073,709,551,616)#include<iostream>#include<cstdio>#include<cmath>usingnamespacestd;typedefunsignedlonglongull;
  • 2024-10-28洛谷P1045 [NOIP2003 普及组] 麦森数
    形如 2P−12P−1 的素数称为麦森数,这时 PP 一定也是个素数。但反过来不一定,即如果 PP 是个素数,2P−12P−1 不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是 P=3021377P=3021377,它有909526位。麦森数有许多重要应用,它与完全数密切相关。任务:输
  • 2024-08-17P1045 [NOIP2003 普及组] 麦森数极简解法解读
    源代码如下(这个精妙绝伦的算法不是我发现的,而是取自原题解中的某个大佬,在经过一顿学习正常题解后看到,顿觉豁然开朗,原贴:https://www.luogu.com.cn/article/c3u874kg)includeincludeincludeusingnamespacestd;longlonga[501]={1};intmain(){intp;cin>>p;cout<<(
  • 2024-05-22CSP历年复赛题-P1045 [NOIP2003 普及组] 麦森数
    原题链接:https://www.luogu.com.cn/problem/P1045题意解读:要计算2p-1的位数和最后500位,实际上只需要计算2p,两者位数一致,前者比后者个位减1即可,且个位肯定不会是0,比较容易处理。解题思路:如果直接采用高精度乘法计算2p,p最大3.1*106,高精度所用数组最长大概9*105,一共最多计算3.
  • 2024-01-25洛谷题单指南-模拟和高精度-P1045 [NOIP2003 普及组] 麦森数
    原题链接:https://www.luogu.com.cn/problem/P1045题意解读:要计算2p-1的位数和最后500位,实际上只需要计算2p,两者位数一致,前者比后者个位减1即可,且个位肯定不会是0,比较容易处理。解题思路:如果直接采用高精度乘法计算2p,p最大3.1*106,高精度所用数组最长大概9*105,一共最多计算3.
  • 2023-11-19麦森数
    [NOIP2003普及组]麦森数题目描述形如的素数称为麦森数,这时一定也是个素数。但反过来不一定,即如果是个素数,不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是,它有909526位。麦森数有许多重要应用,它与完全数密切相关。任务:输入,计算的位数和最后
  • 2023-11-12麦森数
    [NOIP2003普及组]麦森数题目描述形如的素数称为麦森数,这时一定也是个素数。但反过来不一定,即如果是个素数,不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是,它有909526位。麦森数有许多重要应用,它与完全数密切相关。任务:输入,计算的位数和最后
  • 2023-10-02P1045 麦森数 题解
    传送门前排提醒:本篇题解没有使用压位和快速幂,运用了一种预处理的思想,希望能提供一种新的思路。首先将\(2^{p}-1(d)\)转换为\(1111…111(b)\)。关于第一问:我们先考虑\(2\)进制转\(8\)进制,将每\(3\)位转为\(1\)位,即每\(\log{8}\)位转为\(1\)位。\(2\)进制转