题解:P17712 Red Face 统计数(decimal)
WightyIflia · · 题解
oi,我又来水题解啦(QwQ)!
首先有限小数肯定是指将这个分数约分后分母能拆成若干个
所以剩下的就是模拟了,一开始将
复杂度
::::info[枚举在区间内个数的函数]{open}
ll cnt(ll t,ll &l,ll &r)
{
ll res=0;
//枚举 2 的次方
for(ll i=1;i*t<=r;i<<=1)
{
//枚举 5 的次方
for(ll j=1;i*j*t<=r;j*=5)
{
//满足条件
if(i*j*t>=l) res++;
}
}
return res;
}
::::
::::info[主函数]{open}
ll a,l,r;
ll ans=0;
cin >> a >> l >> r;
for(ll i=1; i<=a/i; ++i)
//枚举因数
{
if(a%i==0)
{
//防止重复
if(i*i!=a)ans+=cnt(a/i,l,r);
ans+=cnt(i,l,r);
}
}
//收工!
cout << ans;
::::