NOI2.4 2011
描述
已知长度最大为200位的正整数n,请求出2011^n的后四位。
输入
第一行为一个正整数k,代表有k组数据,k<=200接下来的k行,
每行都有一个正整数n,n的位数<=200
输出
每一个n的结果为一个整数占一行,若不足4位,去除高位多余的0
样例输入
3
5
28
792
样例输出
1051
81
5521
不就是循环n次,输出吗?好水的一道题,哈哈哈!!!
What a water problem it is !!!
不错,这就是不懂事的一种想法,看看n的大小,你会打消这种念头的…………
想起小学时老师就讲过,一个n位数的k次方的后n位数,是可以与n相等的,而现在的n就是2011,我们只需找出它是几次一循环
先写一个小程序,找一下k的值
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int i,k=2011;
for(i=2;;i++)
{
k=k*2011%10000;
if(k==2011)
{
printf("%d",i-1);
return 0;
}
}
}
很简单,不必解释了
求出了k的值,500
接下来每个数取后三位就OK了,因为500能整除1000
代码如下:
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int a[1001];
void chu()
{
int k=1,i;
for(i=1;i<=1000;i++)
a[i]=k=k*2011%10000;
}
int main()
{
chu();
int n,k,l,i;
char c[201];
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%s",c);
l=strlen(c);
if(l==1)k=c[0]-48;
else if(l==2)k=(c[0]-48)*10+c[1]-48;
else k=(c[l-1]-48)+(c[l-2]-48)*10+(c[l-3]-48)*100;
printf("%d\n",a[k]);
}
}
所以,有时一道题不一定只用一个程序来解决,可以写小程序辅助一下,这就是分治
NOI2.4 2011的更多相关文章
- [C#项目开源] MongoDB 可视化管理工具 (2011年10月-至今)
正文 该项目从2011年10月开始开发,知道现在已经有整整5年了.MongoDB也从一开始的大红大紫到现在趋于平淡. MongoCola这个工具在一开始定位的时候只是一个Windows版本的工具,期间 ...
- BZOJ 2440: [中山市选2011]完全平方数 [容斥原理 莫比乌斯函数]
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 3028 Solved: 1460[Submit][Sta ...
- Step by step Dynamics CRM 2011升级到Dynamics CRM 2013
原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...
- http://www.cnblogs.com/youring2/archive/2011/03/28/1997694.html
http://www.cnblogs.com/youring2/archive/2011/03/28/1997694.html
- Microsoft Dynamics CRM 2013 and 2011 Update Rollups and Service Packs
Microsoft Dynamics CRM 2013 BTW: RC stands for Release for Candidate, and RTM stands for Release ...
- http://www.blogjava.net/zhangchao/archive/2011/05/26/351051.html
http://www.blogjava.net/zhangchao/archive/2011/05/26/351051.html
- CRM 2011 Install Errors - Tips and Tricks continued(转)
The more I get to install/upgrade to CRM 2011 in different environment the more I come across differ ...
- MSCRM 2011 操作大全
CRM字段类型:货币:new Money(Decimal){SQL更新Money类型字段,需要同时更新_base字段,存在汇率差的时候值不同}查找:new EntityReference(object ...
- MSCRM 2011/2013 单点登录 实现
通过自定义的ASP.NET程序,输入相关信息后,直接进入MSCRM 2011/2013中.
随机推荐
- 【20.51%】【codeforces 610D】Vika and Segments
time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...
- HDU4742 CDQ分治,三维LIS
HDU4742 CDQ分治,三维LIS 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4742 题意: 每个球都有三个属性值x,y,z,要求最长的lis的 ...
- 【Linux】nl笔记
nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等 ...
- 错误 1 未能找到类型或命名空间名称“”, 引入DLL文件出现提示文件不存在问题
在所有引入都正确的情况下,查看项目目标框架是否正确
- Qt configure 参数说明(中文)
Qt configure 在编译QT前,可加各种参数来定制自己想要的QT库.这对需要裁减QT库的朋友来说非常重要.对于如何编译QT,可以参考:http://hi.baidu.com/agassi%5F ...
- 【一起学源码-微服务】Nexflix Eureka 源码七:通过单元测试来Debug Eureka注册过程
前言 上一讲eureka client是如何注册的,一直跟到源码发送http请求为止,当时看eureka client注册时如此费尽,光是找一个regiter的地方就找了半天,那么client端发送了 ...
- Linux(Centos)安装node及anyproxy
一.安装node //下载 wget https://nodejs.org/dist/v10.9.0/node-v10.9.0-linux-x64.tar.xz //解压 tar xf node-v1 ...
- pytorch :: Dataloader中的迭代器和生成器应用
在使用pytorch训练模型,经常需要加载大量图片数据,因此pytorch提供了好用的数据加载工具Dataloader. 为了实现小批量循环读取大型数据集,在Dataloader类具体实现中,使用了迭 ...
- cocos2dx Vec2
//SE是坐标重叠部分 // returns true if segment A-B intersects with segment C-D. S->E is the overlap part ...
- $CH5501$ 环路运输 环形$+$单调队列
CH Description 在一条环形公路旁均匀地分布着N座仓库,编号为1~N,编号为 i 的仓库与编号为 j 的仓库之间的距离定义为 dist(i,j)=min(|i-j|,N-|i-j|),也 ...