P1045麦森数

#include<iostream>
#include <cmath>
#include <cstring> const int maxn = 1e5 + ;
#define int long long
using namespace std; //第一个表示位数,之后的数字表示每个位数上的数
int ans[maxn] = {, }, k[maxn] = {, }, c[maxn]; void muti(int a[], int b[]) {
memset(c, , sizeof(c));
c[] = a[] + b[];
if (c[] > ) c[] = ;
for (int i = ; i <= b[]; i++) {//模拟乘法 32 * 23
// 3 2
// * 2 3
// ———————
// 9 6
// 6 4
// ————————
// 7 3 6
for (int j = ; j <= a[]; j++) {
c[j + i - ] += b[i] * a[j];
if (c[j + i - ] > ) {
c[i + j] += c[i + j - ] / ;
c[i + j - ] %= ;
}
}
}
for (int i = ; i <= c[]; i++) a[i] = c[i];
} void quick(int x)//快速幂
{
while (x) {
if (x & ) muti(ans, k);
muti(k, k);
x >>= ;
}
} signed main() {
int x;
cin >> x;
cout << (int) (x * log10() + );
quick(x);
ans[]--;//-1操作
for (int i = ; i >= ; i--) {
if (i % == ) cout << endl;
cout << ans[i];
}
return ;
}

P1045麦森数的更多相关文章

  1. 洛谷试炼场-简单数学问题-P1045 麦森数-高精度快速幂

    洛谷试炼场-简单数学问题 B--P1045 麦森数 Description 形如2^P−1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果PP是个素数,2^P-1 不一定也是素数.到19 ...

  2. 洛谷 P1045 麦森数

    题目描述 形如2^{P}-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2^{P}-1不一定也是素数.到1998年底,人们已找到了37个麦森数.最大的一个是P=30213 ...

  3. 洛谷P1045 麦森数

    题目描述 形如2^{P}-12 ​P ​​ −1的素数称为麦森数,这时PP一定也是个素数.但反过来不一定,即如果PP是个素数,2^{P}-12 ​P ​​ −1不一定也是素数.到1998年底,人们已找 ...

  4. 【题解】[P1045] 麦森数

    题目 题目描述 形如2^P-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2^P-1 不一定也是素数.到1998年底,人们已找到了37个麦森数.最大的一个是P=30213 ...

  5. NOIP2003 普及组 洛谷P1045 麦森数 (快速幂+高精度)

    有两个问题:求位数和求后500位的数. 求位数:最后减去1对答案的位数是不影响的,就是求2p的位数,直接有公式log10(2)*p+1; 求后500位的数:容易想到快速幂和高精度: 1 #includ ...

  6. P1045 麦森数

    别问我为什么要写水题 #include <iostream> #include <cstdio> #include <cstring> #include <a ...

  7. 洛谷 P1045 麦森数 (快速幂+高精度+算位数骚操作)

    这道题太精彩了! 我一开始想直接一波暴力算,然后叫上去只有50分,50分超时 然后我改成万位制提高运算效率,还是只有50分 然后我丧心病狂开long long用10的10次方作为一位,也就是100亿进 ...

  8. P1045 [NOIP2003 普及组] 麦森数

    题目描述 形如2^P−1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2^P−1不一定也是素数. 到1998年底,人们已找到了37个麦森数.最大的一个是P=3021377, ...

  9. 【03NOIP普及组】麦森数(信息学奥赛一本通 1925)(洛谷 1045)

    [题目描述] 形如2P-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2P-1不一定也是素数.到1998年底,人们已找到了37个麦森数.最大的一个是P=3021377,它 ...

随机推荐

  1. 有趣、实用的c# 游戏源码下载网站

    在游戏开发的学习或工作中,利用完好的游戏源码可以事半功倍,不仅可以逆向学习开拓思维,也可以大大减少设计周期. 那想用c#来编写游戏的话,游戏源码在哪里找呢?下面整理了几个性价比高一些的网站,推荐给大家 ...

  2. [lua]紫猫lua教程-命令宝典-L1-01-05. if判断结构

    L1[if]01. 简单的if判断结构 没什么说得 if得基本结构如下 xxx= ) then testlib.traceprint("1-100") ) then testlib ...

  3. 阻塞式I/0 和 非阻塞式I/O 同步异步详细介绍

    请求描述: `阻塞/非阻塞` 和 `同步/异步` 不是一个概念.举几个简单的例子. 当进程调用一个进行IO操作的API时(比如read函数),在数据没有到达前,read 会挂起,进程会卡住.在数据读取 ...

  4. plus.webview.create( url, id, styles, extras )参数及说明

    plus.webview.create( "xxx.html", //url:String类型,可选,新窗口加载的HTML页面地址.新打开Webview窗口要加载的HTML页面地址 ...

  5. tomcat安装成功以后进行测试步骤:

    tomcat安装成功以后进行测试步骤: 编写测试页面: 进入Tomcat安装对应路径: E:\Tomcat\apache-tomcat-8.5.45\webapps\ROOT 创建:test.jsp ...

  6. 1022_Digital_Library (30分)

    这里提供两种写法, 其实都是一样的,第一种比较快. #include <bits/stdc++.h> using namespace std; map<string,set<s ...

  7. 获取度量数据:创建服务账户获取访问token

    kubectl create clusterrolebinding kubelet-api-test --clusterrole=system:kubelet-api-admin --servicea ...

  8. 吴裕雄 python 神经网络——TensorFlow实现回归模型训练预测MNIST手写数据集

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_dat ...

  9. MAC Address-Table Move Update Feature

    MAC Address-Table Move Update The MAC address-table move update feature allows the switch to provide ...

  10. 【Hibernate 检索策略】

    HibernateDemo2 public class HibernateDemo2 { //演示批量抓取 @Test public void testSelect3() { SessionFacto ...