解析:
打表发现 在1e9内符合要求的就1000多个
所以直接爆搜出来
然后住个计算
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[100005];
int cnt;
void dfs(ll x)
{
if(x>4444444444) return ;
a[++cnt]=x;
dfs(x*10+4);
dfs(x*10+7);
}
int main()
{
ll l,r;
dfs(4);
dfs(7);
cin>>l>>r;
sort(a+1,a+1+cnt);
ll sum=0;
for(int i=1;i<=cnt;i++)
{
if(a[i]>=l)
{
if(a[i]<r)
{
sum=sum+(a[i]-l+1)*a[i];
l=a[i]+1;
}
else
{
sum=sum+(r-l+1)*a[i];
break;
}
}
}
cout<<sum<<endl;
}