A 合法密码(暴力)

思路

字符串截取分段:substr()函数

检查参数是否为阿拉伯数字0到9:isdigit()函数

代码:

#include <bits/stdc++.h>

using namespace std;

#define int long long

//判断字符串是否符合条件
bool qw( string& s) {
    int num = 0, sym = 0;
    for (char c : s) {
        if (isdigit(c)) num += 1;
        if (!isalnum(c)) sym += 1;
    }
    return num > 0 && sym > 0;
}

signed main() {
    
    //关闭输入输出流的同步,以提高程序的执行效率。
    cin.tie(0);
    cout.tie(0);
    ios::sync_with_stdio(false);
    
    string s = "kfdhtshmrw4nxg#f44ehlbn33ccto#mwfn2waebry#3qd1ubwyhcyuavuajb#vyecsycuzsmwp31ipzah#catatja3kagbcss2th";
    int n = s.size();
    int num = 0;
    
    //第一个循环限制增长字符串长度
    //第二个循环遍历整个字符串
    for (int len = 8; len <= 16; ++len) {
        for (int i = 0; i <= n - len; ++i) {
            string x = s.substr(i, len);
            if (qw(x)) {
                num += 1;
            }
        }
    }
    
    cout << num << endl;
    
    return 0;
}

B 选数概率 

思路1:

根据已知条件条件求得a,b,c三个值的比值,最简比值及是最小解。

将三个概率分母变为想同值,分子三个分子即可求得

a*b=2585

b*c=2632

a*c=1540

三个未知数,三个公式可求得三个比值

a:b:c=3980900:6803720:4053280

化简可知 式子同除72380可得

a:b:c=55:94:56

思路2:

概率公式:

代码暴力枚举。

 C 题:蚂蚁开会

思路:

代码:

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐