相关题目:
相关题目链接:
Acwing第3734题(求和)
https://www.acwing.com/problem/content/3737/
解题思路:
相关代码:
#include<iostream>
#include<vector>
#include<cmath>
#include<algorithm>
using namespace std;
long long l,r;
vector<long long> a;
long long res;
void dfs(long long u,long long k){
a.push_back(k);
if(u==10){ //最多十位
return;
}
dfs(u+1,k*10+7);
dfs(u+1,k*10+4);
}
int main(){
cin>>l>>r;
dfs(0,0);
sort(a.begin(),a.end());
for(int i=1;i<a.size();i++){
long long a1=a[i-1]+1,b1=a[i];
res+=a[i]*max(0LL,(min(r, b1) - max(l, a1) + 1));
}
cout<<res;
return 0;
}