CodeFoeces-535B

题目

原题链接:B. Tavas and SaDDas

题意

问只由4或者7组成不大于n的数字有几个。开始部分遍历超时,后参考其他作者思路,使用dfs。

代码

#include
using namespace std;
int ans=0;
long long n;
void dfs(long long m){
    if(m>n) return ;
    if(m<=n) ans++;
    dfs(m*10+4);
    dfs(m*10+7);
}
int main() {
    scanf("%lld",&n);
    dfs(4);
    dfs(7);
    printf("%d\n",ans);
    return 0;
}

你可能感兴趣的:(CodeFoeces-535B)