后续 一直更新
A一道更新一次
A 题
题意:
给你一个数n 让你乘一个数 然后尾部要有>=k个0
关键n在1e9范围 k<=8;
解:
开始只想到2*5 ,好来wa,直接就1e6暴力吧,竟然31ms抖过
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll n,k,i,j;
while(cin>>n>>k)
{
ll ans=0,s_cnt=0,ans_2=0;
for(i=1; i<=1000000; i++)
{
ll tmp=i*n,cnt=0;
while(tmp)
{
if(tmp%10==0)
{
cnt++;
tmp/=10;
}
else
{
goto loop;
}
}
loop :
if(cnt>s_cnt)
{
s_cnt=cnt;
ans_2=i;
}
if(cnt>=k)
{
ans=i*n;
break;
}
}
if(ans)
cout<<ans<<endl;
else
{
// ans=ans_2*pow(10,k-s_cnt);
if(!ans_2)
cout<<n;
else
cout<<ans_2*n;
for(i=0; i<k-s_cnt; i++)
cout<<"0";
puts("");
}
/*ll cnt=0,tmp=n;
while(tmp)
{
if(tmp%10==0)
{
cnt++;
tmp/=10;
}
else
break;
}
if(cnt>=k)
cout<<n<<endl;
else
{
cout<<n;
for(i=0; i<k-cnt; i++)
cout<<"0";
puts("");
}
/* ´ó±í
for(i=1;i<=(ll)1e8;i++)
{
ll tmp=i*n,cnt=0;
while(tmp)
{
if(tmp%10==0)
{
cnt++;
tmp/=10;
}
else
{
goto loop;
}
}
loop :
if(cnt>=k)
{
puts("******");
cout<<i*n<<" "<<i<<endl;
puts("");
break;
}
}*/
}
return 0;
}
//375