题目链接:登录—专业IT笔试面试备考平台_牛客网

Icebound hates math. But Imp loves math. One day, Imp gave icebound a problem.

The problem is as follows.

For given q,n,p, you need to help icebound to calculate the value of S.

输入描述:

The first line contains an integer T, denoting the number of test cases.
The next T lines, each line contains three integers q,n,p, separated by spaces.
1≤T≤1001≤T≤100, 1≤n,q,p≤109

输出描述:

For each test case, you need to output a single line with the integer S.

示例:

输入:

2
2 3 100
511 4 520

输出:

14
184

高中知识学不好,连老本都吃不了  ╮(๑•́ ₃•̀๑)╭、

那么,首先让我来回顾一下高中关于等比数列的一个公式(当n为奇数时。。。当n为偶数时。。。)

现在看看,这个公式简直深得二分法的真谛!!!

所以,这道题的解决方法就是 快速幂+公式二分! 。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚  。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚  。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int t;
ll n,q,p;ll qpow(ll q,ll n)//快速幂版子来一波
{ll res=1;while(n){if(n&1) res=res*q%p;q=q*q%p;n=n/2;}return res;
} ll dengb(ll n)//公式套一波
{if(n==1) return q;if(n&1)//当n为奇数时 {return ( dengb((n-1)/2)*(1+qpow(q,(n+1)/2))%p+qpow(q,(n+1)/2))%p;}else//当n为偶数时 {return ( dengb(n/2)*( 1+qpow(q,n/2) )%p );}
}
int main(){cin>>t;while(t--){cin>>q>>n>>p;if(q==1){cout<<n<<"\n";}else cout<<dengb(n)<<endl;}return 0;
}

Icebound and Sequence(等比数列公式的递归处理)相关推荐

  1. 2019河北省大学生程序设计竞赛(重现赛)B 题 -Icebound and Sequence ( 等比数列求和的快速幂取模)...

    题目链接:https://ac.nowcoder.com/acm/contest/903/B 题意: 给你 q,n,p,求 q1+q2+...+qn 的和 模 p. 思路:一开始不会做,后面查了下发现 ...

  2. Master公式求递归复杂度

    先说明一下这里的master不是价值网络,纯属求递归复杂度的一个公式. master公式的使用: a是迭代的子算法的数量,b是每个算法负责多少数据,d出去子过程剩下的时间复杂度的指数. log(b,a ...

  3. 等差数列-等比数列公式和前n项和公式

    等差数列公式:an=a1+(n-1)d,(n为正整数) a1为首项,an为第n项的通项公式,d为公差. 前n项和公式为:Sn=na1+n(n-1)d/2,(n为正整数) Sn=n(a1+an)/2,( ...

  4. 等比数列公式对数的运算

    题目描述 小玉开心的在游泳,可是她很快难过的发现,自己的力气不够,游泳好累哦.已知小玉第一步能游2米,可是随着越来越累,力气越来越小,她接下来的每一步都只能游出上一步距离的98%.现在小玉想知道,如果 ...

  5. 等比数列求和 再取余

    2019河北省大学生程序设计竞赛 Icebound and Sequence 分析: 1.等比数列求和       mod p       因为不能保证 p 是素数,所以不能对(q-1)求逆元 ..  ...

  6. 函数递归大总结,码住就完事啦

    目录 #前言 #一.什么是递归 #二.递归的必要条件 #三.递归的步骤 #四.递归的一些应用例题 熬夜早起肝博客!!冲!! #前言 大家好,今天给大家带来递归初步学习的大总结,对刚接触递归的同学来讲是 ...

  7. acm公选课第三节4.7直播4.9补 递归 深搜啥的

    今天主要讲递归 深搜 dp做准备, 能看到算法复杂度 要真正理解:(从上往下扎,到边界结束,再一层一层往上返) 下图:第一行时边界,第二行时递归模式 爆了: RE:(我也出过原来是这样) 递推就行 老 ...

  8. 5.3 递归最小二乘法

    5.3 递归最小二乘法 前面最小二乘法中数据是一次全部测量好,然后进行求解.但实际中有时存在测量数据是在线获得的,即时刻获得测量数据.比如无人驾驶车辆,需要实时判断前面车辆的运动状态,获取其加速度,所 ...

  9. [递归]一文看懂递归

    1. 递归的定义 编程语言中,函数 Func(Type a,--) 直接或间接调用函数本身,则该函数称为「递归函数」. 在实现递归函数之前,有两件重要的事情需要弄清楚: 递推关系:一个问题的结果与其子 ...

  10. python递归求13的n次方_Python题目:递归的简单题目,求阶乘,求n-m的累积和,求斐波那契...

    递归 从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事!故事是什么呢?从前有座山,山里有座庙- 定义:递归函数是自身直接或者间接调用自身并且有终止条件的函数 特点:将大问题分解成n个小问题, ...

最新文章

  1. 拜读及分析Element源码-alert组件篇
  2. Java知识系统回顾整理01基础04操作符07Scanner
  3. idea dump分析工具_实战:OOM 后我如何分析解决的
  4. 继承Comparable接口来实现排序
  5. NPOI “发现 中的部分内容有问题,是否要恢复此工作薄的内容?如果信任此工作薄的来源。。。”的问题的解决方法...
  6. 《软件项目管理(第二版)》第 3 章——项目计划 重点部分总结
  7. php foreach结果如何保存_每天一个PHP语法四引用使用及实现
  8. Linux下MySQL忘记密码
  9. Intellij IDEA的配置
  10. 关于前几周项目进行的一些感受
  11. 小学计算机集体听课评课,小学语文听课笔记:教师集体听评课活动
  12. mac 蓝牙 串口调试 助手(工具)
  13. python实现LU分解
  14. Activity启动流程(二)system_server进程处理启动Activity请求
  15. 远程登录时由于帐户限制,你无法登录的解决办法[作者:Jackie]
  16. 学习单片机c51矩阵键盘,按键无反应
  17. JavaScript之简繁体转化代码示例
  18. 计算机增加一个硬盘怎么设置方法,电脑加硬盘【操作教程】
  19. 机器学习从入门到创业手记-处理数据的乐趣在于挖掘
  20. 钉钉机器人智能回复_青岛市市南区税务局:“税博士”智能服务机器人亮相办税服务厅...

热门文章

  1. Zynga公布2021年第二季度财务业绩
  2. banner图片自适应
  3. 华为手机灵敏度设置_和平精英华为手机灵敏度怎么设置 上分灵敏度推荐
  4. Java 中Calendar的使用
  5. 再看iOS如何使用SM2/SM3/SM4/SM9 方法二:使用http://gmssl.org这个开源密码箱来实现从编译到使用
  6. 将excel表格嵌入html,excel中embed的使用
  7. AcWing每日一题 1934贝茜放慢脚步
  8. 一文2500字Robot Framework自动化测试框架超强教程
  9. PhysX3.4文档(13) -- Spatial Queries
  10. 金之塔用 Python 获取日内分时均价,每分钟日成交量和每时刻结算价,及交叉作用曲线延伸