2009 Multi-University Training Contest 1 题集(长期更新)
2016-05-27 00:49
609 查看
A题传送门:A sequence of numbers
题目大意:给数列的前三项,推出第n项的值;
题解:简单的求通项公式,不过注意题目数据比较大,而且在求等比数列的时候因为通项公式是
an = a1*q^(n-1);所以直接用pow就会出错,需要用快速幂处理就没事了;
AC代码:
题目大意:给数列的前三项,推出第n项的值;
题解:简单的求通项公式,不过注意题目数据比较大,而且在求等比数列的时候因为通项公式是
an = a1*q^(n-1);所以直接用pow就会出错,需要用快速幂处理就没事了;
AC代码:
#include <bits/stdc++.h> #define ll long long #define mod 200907 using namespace std ; ll quick(ll a , ll b , ll md) { ll res = 1 ; a = a % md ; while(b) { if(b%2) res = res * a % md ; b/=2; a = a * a % md ; } return res ; } int main() { ll a , b , c , solve; ll q , d ,qqq; int t ; cin>>t; while(t--) { cin>>a>>b>>c>>solve; ll sum ; if(b - a == c - b) { d = b - a ; sum = a + (solve-1)*d; cout<<sum%200907<<endl; continue; } else if(b/a==c/b) { q = b/a; qqq = quick(q,solve-1,mod); sum = a*qqq; cout<<sum%200907<<endl; continue; } } return 0 ; }
相关文章推荐
- RAID
- 红头文件吹响全面进军人工智能的战斗号角
- main函数的实现解析
- IPC进程间通信 - AIDL+Binder
- linker command failed with exit code 1 (use -v to see invocation)报错
- 解决open-vm-tools安装时Failed to get unit file state for run-vmblockx2dfuse.mount
- 报错"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::at(unsigne
- 检测是否超出int范围 && 11. Container With Most Water
- scala之trait详解一
- Theano: CNMeM is disabled, CuDNN not available
- X64操作系统组件Jmail无法正常服务问题
- X64操作系统组件Jmail无法正常服务问题
- Crazy Thairs_poj3378_DP+离散+高精度+树状数组
- WM_PAINT
- int main(int argc,char* argv[])详解
- 如何理解:int main(int argc, char** argv)
- 【CodeForces】675B - Restoring Painting(数学推导)
- 论文笔记之:Fully Convolutional Attention Localization Networks: Efficient Attention Localization for Fine-Grained Recognition
- Windows Server 2012 磁盘管理之 简单卷、跨区卷、带区卷、镜像卷和RAID-5卷
- 【CodeForces】667A - Pouring Rain(数学)