using namespace std;
int main()
{
long long x,y;
cin>>x>>y;
int y1=1,ys=2011;
for(int i=1;i<=y;i++)
y1=y1*10;
for(int i=2;i<=x;i++)
ys=ys*2011;
ys=ys%y1;
cout<<ys;
return 0;
}
输入格式 Input Format
两个整数x和y。
输出格式 Output Format
一个整数,表示x个2011 相乘之后,最后y位的数字。
就粘下错码,回家改。
#include<iostream>
using namespace std;
int main()
{
int y,x;
cin>>x>>y;
int y1=1;
long long ys=2011;
for(int i=1;i<=y;i++)
y1=y1*10;
for(int i=2;i<=x;i++)
ys=ys*2011%y1;
if(ys%y1<y1)
{
int yy=0;
int y2=ys%y1;
while(y2>0)
{
yy++;
y2=y2/10;
}
for(int i=1;i<=y-yy;i++)
cout<<'0';
}
cout<<ys%y1;
return 0;
}
错到0上。没有处理保留末尾y个数字时第一位是零的问题。已改正,AC