int cal(unsigned int val )
{
unsigned int n=1;
int m=2011;
while(n++<val)
{
m*=2011;
m=m%10000;
}
return m;
}
int main()
{
int n;
cin>>n;
vector<int>vec;
int m;
for(int i=1;i<=n;++i)
{
cin>>m;
vec.push_back(m);
}
for(int i=0;i!=vec.size();++i)
cout<<cal(vec[i])<<endl;
return 0;
}
提交后结果显示为时间超时,不知道因为啥
另外一种做法
#include<iostream>
#include<vector>
using namespace std;
int cal(unsigned int val )
{
unsigned int n=1;
int m=2011;
while(n++<val)
{
m*=2011;
m=m%10000;
}
return m;
}
inline int four(const int num)
{
return num%500;
}
int main()
{
int array[501];
for(int i=1;i!=501;++i)
{
array[i]=cal(i);
}
int n;
cin>>n;
vector<int>vec;
int m;
for(int i=1;i<=n;++i)
{
cin>>m;
vec.push_back(m);
}
for(int i=0;i!=vec.size();++i)
cout<<array[four(vec[i])]<<endl;
return 0;
}