2011

Posted malcolmmeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2011相关的知识,希望对你有一定的参考价值。

题目链接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

查看

这题用分治来做,另外练习操作符重载

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<string>
#include<vector>
#include<ios>
#define DEBUG(x) cout<<#x<<" = "<<x<<endl
using namespace std;
const int MAXN=220;
struct BigInt{
    char digits[MAXN];
    int len;
    BigInt(){
        memset(digits,0,sizeof(digits));
        len=0;
    };
    bool isOdd()
    {
        int n=digits[0]-0;
        return n%2!=0;
    }
    friend istream& operator>>(istream & in,BigInt &n)
    {
        in>>n.digits;
        n.len=strlen(n.digits);
        reverse(n.digits,n.digits+n.len);
        return in;
    }
    friend ostream& operator<<(ostream &out, const BigInt &n)
    {
        out<<n.digits;
        return out;
    }
    BigInt half()
    {
        BigInt rt;
        int carry=0;
        for(int i=len-1;i>=0 ;i-- ){
            int v=digits[i]-0;
            rt.digits[i]=(v+carry)/2+0;
            carry=(v+carry)%2*10;
        }
        int p=len-1;
        while(rt.digits[p]==0){
            if(p!=0)
            rt.digits[p]=;
            p--;
        }
        rt.len=p+1;
        return rt;
    }
};
int lastFourDigit(BigInt n)
{
    if(n.len==1&&n.digits[0]==1)return 2011;
    int lf=lastFourDigit(n.half());
    int t=lf*lf%10000;
    if(n.isOdd())return t*2011%10000;
    return t;
}
int main()
{
//    freopen("in.txt","r",stdin);
    int n;
    cin>>n;
    for(int i=0;i<n ;i++ ){
        BigInt bn;
        cin>>bn;
        int ans=lastFourDigit(bn);
        cout<<ans<<endl;
    }
}

 



以上是关于2011的主要内容,如果未能解决你的问题,请参考以下文章

Sphinx、reStructuredText 显示/隐藏代码片段

有人知道下面的代码片段是啥意思吗?

如何向 ViewPager 提供许多片段并避免错误代码?

iphone / Objective c的最佳代码片段网站是啥[重复]

如何在 Javadoc 中使用 @ 和 符号格式化代码片段?

使用 Python 代码片段编写 LaTeX 文档