幸运数字Ⅱ

幸运数字Ⅱ

https://ac.nowcoder.com/acm/problem/15291

dfs打表,记录1e9内的满足条件的幸运数;

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e6+10;
int cnt=0,rec[maxn];
void dfs(int x)
{
    if(x>444444444) return;
    rec[cnt++]=x*10+4;
    rec[cnt++]=x*10+7;
    dfs(x*10+4);
    dfs(x*10+7);
}
signed main()
{
    int l,r;
    cin>>l>>r;
    dfs(0);
    sort(rec,rec+cnt);
    int ans=0;
    int i=lower_bound(rec,rec+cnt,l)-rec;//找出左界
    int j=upper_bound(rec,rec+cnt,r)-rec;//右界
   for(int k=i;k<=j;k++)
   {
       ans=ans+(min(rec[k],r)-l+1)*rec[k];
       l=rec[k]+1;
   }
    cout<<ans;
}
全部评论

相关推荐

找到实习了&nbsp;给了150一天&nbsp;但是说是低代码&nbsp;值得去吗
码农索隆:是在没实习,可去,待个一两周,不行就润呗
点赞 评论 收藏
分享
06-10 21:15
门头沟学院 Java
宁阿:好多这种没🧠的公司,他们估计都不知道毕业的人不能给安排实习岗
实习吐槽大会
点赞 评论 收藏
分享
05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 11:35
程序员小白条:话太多,没实力和学历,差不多回答回答就行了,身份地位不一样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务