15-幸运数组47

Posted ystraw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了15-幸运数组47相关的知识,希望对你有一定的参考价值。

/* 题目内容:

YF不爱名利,所以他既不喜欢6,也不喜欢8。他的幸运数字是4和7。如果一个数字中只包含4和7,他就认为这个数字是他的幸运数。
现在给你两个正整数a,b,要求返回a,b之间的幸运数的个数,包括a,b本身。

输入描述

第一行输入数目n,表示后面有n组ab
第2行开始,每行一组a b, 空格隔开。


输出描述

每行输出一个数,即a,b之间的幸运数的个数。


输入样例

3
11 20
4 7
1 10
输出样例

0
2
2
*/

#include <iostream>
using namespace std;
int lucky[10000005]; //注意大小,小了一直是 答案错误

void countlucky(){
    for(int i = 1; i <= 10000000; i++){
        int c, d, e, f, g, h, y = i;
        int flag = 1;
        if(y % 10 == 0)
            flag = 0;
        while(y % 10 && flag){
            c = y % 10; y /= 10;
            if(c != 4 && c != 7)
                flag = 0;
        }
        if(flag && y == 0)  // 101 y = 10
            lucky[i] = 1;
//        c = y % 10; y /= 10;
//        d = y % 10; y /= 10;
//        e = y % 10; y /= 10;
//        f = y % 10; y /= 10;
//        g = y % 10; y /= 10;
//        h = y % 10; y /= 10;
//        if(i < 10)
//            lucky[4] = lucky[7] = 1;
//        if(i < 100){
//            if((c == 4 || c == 7) && (d == 4 || d == 7))
//                lucky[i] = 1;
//        }
//        if(i < 1000 && (c == 4 || c == 7) && (d == 4 || d == 7) && (e == 4 || e == 7))
//            lucky[i] = 1;
//        if(i < 10000 && (c == 4 || c == 7) && (d == 4 || d == 7) && (e == 4 || e == 7) && (f == 4 || f == 7))
//            lucky[i] = 1;
//        if(i < 100000 && (c == 4 || c == 7) && (d == 4 || d == 7) && (e == 4 || e == 7) && (f == 4 || f == 7)
//          && (g == 4 || g == 7))
//            lucky[i] = 1;
//        if(i < 100000 && (c == 4 || c == 7) && (d == 4 || d == 7) && (e == 4 || e == 7) && (f == 4 || f == 7)
//          && (g == 4 || g == 7) && (h == 4 || h == 7))
//            lucky[i] = 1;     
        lucky[i] += lucky[i - 1];
    }
}

int main(){
    ios::sync_with_stdio(false);
    int n;
//    cin >> n;
    countlucky();
//    while(n--){
        int a, b;
        cin >> a >> b;
        cout << lucky[b] - lucky[a - 1] << endl;
//    }
    return 0;
}

以上是关于15-幸运数组47的主要内容,如果未能解决你的问题,请参考以下文章

3634找出数组中的幸运数

3634找出数组中的幸运数

LeetCode1394-找出数组中的幸运数

实例044 Java利用数组随机挑选一名幸运观众

利用数组随机抽取幸运观众

Java分割数组成子数组