题目链接:

http://acm.hdu.edu.cn/showproblem.php?pid=1852

题目大意:

求2008^n的所有因子和m对k取余,然后求2008^m对k取余。

解题思路:

首先将2008因式分解,2008 = 2^3 * 251

所以2008^n = 2^(3n) * 251^(n)

因子和m =(2^(3n+1)- 1) * (251^(n+1) - 1)/ 250

m需要对k取余数。由于余数k和250可能不互质,也就是没有逆元存在,那么需要用到通用公式:

所以可以用快速幂求出(2^(3n+1)- 1) mod k

再求出(251^(n+1) - 1)mod (250 * k) / 250

两者相乘再对k求余数作为2008的指数

最后快速幂求出答案

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll pow(ll a, ll b, ll m)
{
ll ans = ;
a %= m;
while(b)
{
if(b & )ans = ans * a % m;
b /= ;
a *= a;
a %= m;
}
return ans;
}
int main()
{
ll n, k;
while(cin >> n >> k && n)
{
ll a = pow(, * n + , k) - ;
ll b = (pow(, n + , * k) - ) % ( * k);
b /= ;
cout<<pow(, (a * b) % k, k)<<endl;//此处必须a*b需要先对k取余数,题目求的是因子和m对k取余数作为指数的值
}
return ;
}

hdu1852 Beijing 2008的更多相关文章

  1. HDU1852 Beijing 2008(快速幂+特殊公式)

    As we all know, the next Olympic Games will be held in Beijing in 2008. So the year 2008 seems a lit ...

  2. HDU 1852 Beijing 2008 数论

    题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1852 这道题和HDU1452类似. 题意:给你一个n.k,让你求2008^n所有因子的和(包括1和本 ...

  3. 整数快速幂hdu(1852)

    hdu1852 Beijing 2008 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/65535 K (Java/Others ...

  4. POJ3928Ping pong[树状数组 仿逆序对]

    Ping pong Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3109   Accepted: 1148 Descrip ...

  5. 十二、mysql sql_mode 简学

    .一般默认情况下sql_mode默认为空,也就是不严格的sql检查 .如果sql_mode为空的情况下,测试: )); //定义一个name字段长度为定长2的tt3表 insert into tt3 ...

  6. 《sed的流艺术之四》-linux命令五分钟系列之二十四

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  7. 《sed的流艺术之三》-linux命令五分钟系列之二十三

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  8. poj3928 Ping pong 树状数组

    http://poj.org/problem?id=3928 Ping pong Time Limit: 1000MS   Memory Limit: 65536K Total Submissions ...

  9. POJ 3928 &amp; HDU 2492 Ping pong(树阵评价倒数)

    主题链接: PKU:http://poj.org/problem?id=3928 HDU:http://acm.hdu.edu.cn/showproblem.php?pid=2492 Descript ...

随机推荐

  1. 金融量化分析-python量化分析系列之---使用python获取股票历史数据和实时分笔数据

    财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据.历史分笔数据,本文对tushare的用法,已经存在的 ...

  2. js动态给textarea赋值

    document.getElementById("new_analysed_news").value=datas.weatherContent;

  3. 【3dsMax安装失败,如何卸载、安装3dMax 2015?】

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  4. css3之transition、transform、animation比较

    css3动画多少都有些了解,但是对于transition.transform.animation这几个属性一直是比较模糊的,所以啊,这里做一个总结,也希望大家都可以对此有一个更好地理解.    其实, ...

  5. PHP SECURITY CALENDAR 2017 学习总结-更新中

    这篇文章主要以审计代码为主来分析每道题目中所存在的漏洞点,记录一下自己的学习: 1.Day 1 - Wish List class Challenge { const UPLOAD_DIRECTORY ...

  6. bzoj 5314: [Jsoi2018]潜入行动

    Description 外星人又双叒叕要攻打地球了,外星母舰已经向地球航行!这一次,JYY已经联系好了黄金舰队,打算联合所有JSO Ier抵御外星人的进攻.在黄金舰队就位之前,JYY打算事先了解外星人 ...

  7. 上传文件插件-bootstrap-fileinput

    1. js文件: <link href="/bootstrap/css/fileinput.css" media="all" rel="styl ...

  8. C# HashTable 使用用法详解

    C#中如何操作HashTable类呢?本文将给你答案,哈希表(Hashtable)简述在.NET Framework中, 一,Hashtable是System.Collections命名空间提供的一个 ...

  9. 静态化HttpClient

    实现方法: public class HttpClientHelper { private static HttpClient _client; public static HttpClient Ge ...

  10. Django组件——forms组件

    一.校验字段功能 通过注册用户这个实例来学习校验字段功能. 1.模型:models.py from django.db import models # Create your models here. ...