注册 登录
编程论坛 C++教室

c++编写100 由1、2、5几种组合方式?

Superliuone 发布于 2011-04-22 18:51, 385 次点击
请问大侠们:c++编写100 由1、2、5几种组合方式?

谢谢了
4 回复
#2
pangding2011-04-22 20:32
“组合”是指加减乘除吗?
#3
诸葛修勤2011-04-22 21:21
程序代码:
#include <stdio.h>

int main(void)
{
    int sum = 0;
    int t, data;

    printf("输入要处理的数据: ");
    scanf("%d", &data);

    for( t = 1; t < (data+4)/5; ++t )
    {
        sum += (data - 5*t - 1)/2;
    }

    printf("总的组合个数: %d\n", sum );

    return 0;
}
#4
诸葛修勤2011-04-22 21:35
程序代码:
#include <stdio.h>

void show(int x, int y, int z)
{
    static i=1;
    printf("%d   ", i++);
    while(x--)
    {
        printf("5");
    }
    while(y--)
    {
        printf("2");
    }
    while(z--)
    {
        printf("1");
    }

    printf("\n");
}

void deal()
{
    int x, y, z;

    for (x=1; x<20; ++x)
    {
        for (y=1; y<49; ++y)
        {
            for (z=1; z<94; ++z)
            {
                if (z+y*2+x*5 == 100)
                {
                    show(x, y, z);
                }
            }
        }
    }
}

int main(void)
{
    int sum = 0;
    int t, data;

    printf("输入要处理的数据: ");
    scanf("%d", &data);

    for( t = 1; t < (data+4)/5; ++t )
    {
        sum += (data - 5*t - 1)/2;
    }

    printf("总的组合个数: %d\n", sum );

    deal();

    return 0;
}
#5
dengjinbao2011-04-23 21:21
程序代码:
#include<iostream.h>
#include<iomanip.h>
int main ()
{
    int i,j,k;
    int counts=0;
    for(i=0;i<=100;i++)
        for(j=0;j<=50;j++)
            for(k=0;k<=20;k++)
                if(i+2*j+5*k==100)
                {
                    cout<<i<<setw(5)<<"个1, "<<j<<setw(5)<<"个2, "<<k<<setw(5)<<"个5组成"<<endl;
                    counts++;
                }
                cout<<"100 由1、2、5几种组合方式有"<<counts<<endl;
                return 0;
}
1