QAQ给定一个小公式,即: f[i]=f[i−1]∗x f[i]=f[i−1]∗x ( i>=2 i>=2 )。他想知道 f[n] 的结果。
2018-03-22 21:03
399 查看
又是一道应用快速幂的题仔细看下公式,就是要用快速幂,只是多了一个常数而已。
#include<iostream>
using namespace std;
typedef long long ll;
const ll mod=1e9+7;
ll ksm(ll a,ll n,ll j)
{
ll s,b;
s=a;
b=j-1;
while(b)
{
if(b&1) s=s*n%mod;
n=n*n%mod;
b>>=1;
}
return s;
}
int main()
{
long long i,j,k,n;
cin>>n;
while(n--)
{
ll s;
cin>>i>>j>>k;
s=ksm(i,j,k);
cout<<s<<endl;
}
return 0;
}
#include<iostream>
using namespace std;
typedef long long ll;
const ll mod=1e9+7;
ll ksm(ll a,ll n,ll j)
{
ll s,b;
s=a;
b=j-1;
while(b)
{
if(b&1) s=s*n%mod;
n=n*n%mod;
b>>=1;
}
return s;
}
int main()
{
long long i,j,k,n;
cin>>n;
while(n--)
{
ll s;
cin>>i>>j>>k;
s=ksm(i,j,k);
cout<<s<<endl;
}
return 0;
}
相关文章推荐
- 有一棵二叉树,请设计一个算法,按照层次打印这棵二叉树。 给定二叉树的根结点root,请返回打印结果,
- 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
- 清除行列 请编写一个算法,若N阶方阵中某个元素为0,则将其所在的行与列清零。 给定一个N阶方阵int[][](C++中为vector<vector><int>>)mat和矩阵的阶数n,请返回完成操
- 设计一个程序,从键盘上输入若干字符串,利用算法库中的查找函数对给定的字符串进行查找,将查找后的结果输出
- 用JAVA写一个函数,功能如下: 任意给定一组数, 找出任意数相加之后的结果为35(任意设定)的情况
- 任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0。
- MVC分页控件之二,为IQueryable定义一个扩展方法,直接反回PagedList<T>结果集
- 算法22:给定一个排好序的linked list,删除其中所有的重复元素。比如给定1->2->3->3-> 4->4->5,返回1->2->5。给定1->1->1->2->3,返回2->3
- 二、给定一个 n 行 m 列的地牢,其中 '.' 表示可以通行的位置,'X' 表示不可通行的障碍,牛牛从 (x0 , y0 ) 位置出发,遍历这个地牢,和一般的游戏所不同的是,他每一步只能按照一些指定的步长遍历地牢,要求每一步都不可以超过地牢的边界,也不能到达障碍上。地牢的出口可能在任意某个可以通行的位置上。牛牛想知道最坏情况下,他需要多少步才可以离开这个地牢。
- 不写控制器也不在视图中写标签语法, 解释一条<get>标签, 直接返回结果。一个parse_get功能
- 在Eclipse中新建了一个Maven工程, 然后把项目的jdk版本更改为1.7, 结果每次使用Maven > Update project的时候JDK版本都恢复成1.5。
- 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。
- 编写函数,接受一对指向vector<int>的迭代器和一个int值。在两个迭代器指定的范围内查找给定的值,返回一个布尔值来指出是否找到。
- hdu6003 Problem Buyer 贪心 给定n个区间,以及m个数,求从n个区间中任意选k个区间,满足m个数都能在k个区间中找到一个包含它的区间,如果一个区间包含了x,那么 该区间不能再去包含另一个数,即k>=m。求最小的k。如果不存在这样的k,输出“IMPOSSIBLE!”。
- 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
- 编写一个程序,统计给定文件中包含的每个单词出现的频率,并按单词表的顺序显示统计结果
- 请编写一个算法,若MxN矩阵中某个元素为0,则将其所在的行与列清零。 给定一个MxN的int[][]矩阵(C++中为vector>)mat和矩阵的阶数n,请返回完成操作后的int[][]矩阵(C++中
- 给定一个字符串S,求所有长度小于等于3的子串出现的次数,输出结果按出现次数从大到小
- 用JAVA写一个函数,功能例如以下: 随意给定一组数, 找出随意数相加之后的结果为35(随意设定)的情况
- 用javadoc提取此注释文档,并产生一个HTML文件,最后通过浏览器查看结果 直接Tools>Generate javadoc