网站备案不注销有什么后果,久久w 网,京东自营网上商城,广告联盟自动挂机赚钱牛客网 时间限制#xff1a;C/C 1秒#xff0c;其他语言2秒 空间限制#xff1a;C/C 262144K#xff0c;其他语言524288K 64bit IO Format: %lld 题目描述 定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。 比如说#xff0c;47、744、4都是幸运数字而5、17、467都…牛客网 时间限制C/C 1秒其他语言2秒 空间限制C/C 262144K其他语言524288K 64bit IO Format: %lld 题目描述 定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。 比如说47、744、4都是幸运数字而5、17、467都不是。 定义next(x)为大于等于x的第一个幸运数字。给定lr请求出next(l) next(l 1) … next(r next®。 输入描述: 两个整数l和r (1 l r 1000,000,000)。 输出描述: 一个数字表示答案。 示例1 输入
2 7输出
33示例2 输入
7 7输出
7题意 打表出奇迹 你可以提前打好表记录在数组里 或者现打表有两个方法 一个是用vector 或者自身递归查找存在pre中 打完表后直接从l开始对比数到r 直接if判断然后sum加有点慢 你可以看每两个pre之间的数最后都做一样相加比如47~74之间不含47的数都算作74那有多少个数就是74-471然后直接乘74加起来就ok了 注意注意不要忘了longlong可坑死我了
#includebits/stdc.h
typedef long long ll;
using namespace std;
ll pre[100000];
int cnt0;
int min(ll a,ll b)
{return ab?b:a;
}
void dfs(ll n)
{if(n1e102)return ; pre[cnt]n;dfs(n*104);dfs(n*107);
}
/*
void dfs(ll x)
{if(n-1e90)return ;q.push_back((x3)(x1)4);dfs((x3)(x1)4);dfs((x3)(x1)7);q.push_back((x3)(x1)7);
}dfs(0);
sort(q.begin(),q.end());
q.push_back(4444444444);
*/
int main()
{ll r,l;scanf(%lld %lld,l,r);dfs(0);sort(pre1,pre1cnt);
// coutpre[cnt-1]endl;ll sum0;ll ant0;for(ll il;ir;){// if(ipre[ant])ant;// sumpre[ant];while(ipre[ant])ant;sumpre[ant]*(min(r,pre[ant])-i1);ipre[ant]1;}printf(%lld\n,sum);
}