首页 > 代码库 > ZOJ3622 Magic Number(水题)
ZOJ3622 Magic Number(水题)
分析:
举个例子xxx(三位数)为魔力数,则xxx|(xxx+1000*y),那么xxx|1000,这个就是结论
同理:四位数xxxx|10000,五位数xxxxx|100000
代码:
#include<iostream> #include<cstdio> #include<cmath> #include<map> #include<queue> #include<cstring> #include<algorithm> typedef long long LL; using namespace std; const int maxn=600005; LL p[maxn]; int main() { LL a,b; while(~scanf("%lld%lld",&a,&b)) { LL cnt=0; for(LL i=10;i<1000000000000;i*=10) { for(LL j=10;j>1;j--) if(i%j==0&&i/j>=i/10)p[cnt++]=i/j; } sort(p,p+cnt); LL ans=upper_bound(p,p+cnt,b)-lower_bound(p,p+cnt,a); printf("%lld\n",ans); } return 0; }
ZOJ3622 Magic Number(水题)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。