【OpenJudge】2991:2011 题解 抽屉原理
来源:互联网 发布:软件站官方网站 编辑:程序博客网 时间:2024/05/16 05:23
2011
时间限制: 1 Sec 内存限制: 128 MB
题目描述
已知长度最大为200位的正整数n,请求出2011^n的后四位。
输入
第一行为一个正整数k,代表有k组数据,k<=200接下来的k行,
每行都有一个正整数n,n的位数<=200
输出
每一个n的结果为一个整数占一行,若不足4位,去除高位多余的0
样例输入
3528792
样例输出
1051815521
这道题。。第一想法是高精度
在这里观摩szp的高精度
然而楼主太懒不想写。。
于是再读读题发现只需要输出后四位
因此答案必然有一个最多5位数的循环节
于是就先写个暴力去找循环节
发现循环节长度为500,这个数就很好处理了
后面读入n时只保留后三位数
再mod500
就得出答案了,比写高精度简单多了~
(所以还是要仔细看题呀!)
下面贴代码
#include<cstdio>#include<cstdlib>#include<string.h>bool v[10000];int p[10000],cnt;int main(){ int n; long long c=2011; while(1){ c%=10000; if(v[c])break; v[c]=true; p[cnt++]=c; c*=2011; } char input[300]; //printf("%d\n",cnt); //cnt=500 scanf("%d",&n); while(n--){ scanf("%s",input); int len=strlen(input); int a=input[len-1]-'0'; if(len>=2)a+=(input[len-2]-'0')*10; if(len>=3)a+=(input[len-3]-'0')*100; a--; if(a==0){ printf("1\n"); continue; } a%=500; printf("%d\n",p[a]); }}
2 0
- 【OpenJudge】2991:2011 题解 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理...
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- 抽屉原理
- RT-thread内核之内核对象模型
- 4.边缘光照的描边shader
- 2-SAT存模板
- 一句代码移除指定视图的所有的子视图
- 深度学习资料汇总
- 【OpenJudge】2991:2011 题解 抽屉原理
- TreeSet比较器
- XZ_iOS之实现textField限制只能输入数字,无论是第三方键盘还是自带键盘
- Android 重写系统Crash处理类,保存Crash信息到SD卡
- JS中的html属性操作
- RT-thread内核之对象管理系统
- iOS图层layer
- 用 CocoaHttpServer 实现 https 服务
- 安卓微信端webapp开发的那些坑