华为研发3.4 笔试第二题参考

时间过去了两分钟后搞出来了。。。心态爆炸,我自己试了几组数据没问题,但还是想让大佬看看这个代码有啥疏漏之处,请多多指教,不胜感激。
还有,代码是莽出来的没啥注释还请见谅。
另外,我看了下,等于0的情况貌似没考虑清楚😂
#include <bits/stdc++.h>
using namespace std;

int calcu(int a, int b) { //概率统计公式
    int ans = 1, mid = b;
    while (b--) {
        ans *= a--;
    }
    ans /= mid;
    return ans;
}

int main() {
    int n, k;
    cin >> n >> k;
    cout << calcu(n + k - 1, k - 1) << endl;
    string aa;
    char mid;
    for (int i = 0; i < n; i++)
        aa += '*';
    for (int i = n; i < n + k - 1; i++)//输入‘*‘和’|‘
        aa += '|';
        
    cout << aa << endl;
    for (int i = n; i < n + k && (aa[i] == '*' || aa[i] == '|'); i++) {
        for (int j = i; j > i - n; j--) {
            mid = aa[j];
            aa[j] = aa[j-1];
            aa[j-1] = mid;
            cout << aa << endl;
        }
    }
    return 0;
}


#华为##笔试题目#
全部评论
能用python吗
点赞 回复 分享
发布于 2020-03-04 21:53

相关推荐

10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活
应届生简历当中,HR最关...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务