"拿球"

#include <iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<time.h>
#include<windows.h>

using namespace std;
//"拿球"
/*
    3个红球,5个白球,6个黑球。从中任取8个,
    且其中要有红球和白球。设计一个函数,计算出有多少种方案
*/

#pragma warning(suppress : 4996)

int balls(int red, int white, int black, int miniRed, int miniWhite, int miniBlack, int sumBalls);

int main() {
    int red = 3,  white = 5,  black = 6,  miniRed = 1,  miniWhite = 1,  miniBlack = 0,  sumBalls = 8;
    int th = balls(red, white, black, miniRed, miniWhite, miniBlack, sumBalls);
    printf("总方案有%d\n", th);
    return 0;

}

int balls(int red, int white, int black, int miniRed, int miniWhite, int miniBlack, int sumBalls)
{
    int i, j, k, s = 0;
    for ( i = miniRed; i <= red; ++i)
    {
        for ( j = miniWhite; j <= white; ++j)
        {
            k = sumBalls - i - j;
            if (k>=miniBlack && k<=black)
            {
                printf("%5d%5d%5d\n", i, j, k);
                s++;

            }

        }

    }
    return s;
 }

posted @ 2022-07-04 14:56  江南王小帅  阅读(95)  评论(0)    收藏  举报