大数的快速幂(模拟水题。)

题目链接:http://noi.openjudge.cn/ch0204/2991/

描述已知长度最大为200位的正整数n,请求出2011^n的后四位。输入第一行为一个正整数k,代表有k组数据,k<=200接下来的k行,

每行都有一个正整数n,n的位数<=200输出每一个n的结果为一个整数占一行,若不足4位,去除高位多余的0样例输入
3
5
28
792
样例输出
1051
81
5521

这道题其实很简单,就是用快速幂的方法,只不过数有点大,爆int,爆ll,因此我们用字符串来模拟数字的输入,和大数的加减法类似,只不过换了一种运算方法,但本质是差不多的。。有点水。。

至于快速幂的算法的介绍在我的另一个博客中,链接:

http://blog.csdn.net/qq_40482358/article/details/79323636

知道快速幂之后这道题就变成水题了。。。:

ac:

#include
#include
#include

//#include
#include
#include
#include
#include
#include
#include
using namespace std;

#define ll long long
#define da    0x3f3f3f3f
#define xiao -0x3f3f3f3f
#define clean(a,b) memset(a,b,sizeof(a))// 雷打不动的头文件


int main()
{
	int t;
	cin>>t;								//t组样例 
	while(t--)
	{
		int shuzu[250];					//每一位用数组储存方便一点 
		clean(shuzu,0);					//注意清空元素 
		string chuan;					//先用字符串储存每一位 
		cin>>chuan;						//输入 
		int i,j,l=chuan.size();			//l:取长 
		for(i=0;i

是不是很水??没有新东西,全是老的,观众老爷们点个赞再走吧。。。





你可能感兴趣的:(固定算法)