能组成多少个无重复数字且不为5的倍数的五位数有多少个?

能组成多少个无重复数字且不为5的倍数的五位数有多少个?

答案是:21504

 

第三种解法:

C++代码:

#include <iostream>
using namespace std;

// 判断num是否有重复数字
bool isRight(int num)
{
    int arrays[10] = { 0 };
    while (num > 0)
    {
        int temp = num % 10;
        if (arrays[temp])
            return false;
        else
            arrays[temp] = 1;
        num = num / 10;
    }
    return true;
}

int main(int argc, const char* argv[]) {

    int count = 0;
    for (int i = 10000; i <= 99999; i++)
    {
        if(i % 5 != 0)        // 当不为5的倍数时进入
            if (isRight(i))    // 如果无重复数字,count++
                count++;
    }
    cout << count << endl;
    return 0;
}

 

posted on 2019-07-29 21:47  zkfopen  阅读(1182)  评论(0)    收藏  举报

导航