回溯法解决
幸运数字
http://www.nowcoder.com/questionTerminal/69682e8bd0654795955c2e478b988f93
include
using namespace std;
int ans = 0;
void backtrack(int num, int begin, int end)
{
if(num > end)
{
return;
}
if(num >= begin)
{
ans++;
}
int num2 = num * 10 + 6;
int num3 = num * 10 + 8;
backtrack(num2, begin, end);
backtrack(num3, begin, end);
}
int main()
{
long begin, end;
long lucky1 = 6, lucky2 = 8;
cin >> begin >> end;
if(begin > end)
{
cout << -1 << endl;
return 0;
}
backtrack(lucky1, begin, end);
backtrack(lucky2, begin, end);
cout << ans << endl;
return 0;
}