解 连乘取余问题
好像是这么一回事:
求x个2011 相乘之后,最后y位的数字是多少? x<=10^6, 1<=y<=5
我的代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x,y,z=1;
long long s=1;
cin>>x>>y;
for(int i=1;i<=x;i++)
s=s*2011;
for(int i=1;i<=y;i++)
z=z*10;
s=s%z;
cout<<s<<endl;
return 0;
}
最后只有20分,参考高手的代码时,根本不知道他们的思路到底是什么。
最后......
好心的的大姐头告诉我是因为数据太大了,应该每次都取余。
因此......
之后代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int x,y,s