小鸡拍球
【问题描述】“蚂蚁庄园”的小鸡拍球游戏中,有三种可能的得分:5分、8分和10分。现从键盘输入一个整数的得分值,请输出该局游戏可能的得分组合。
【输入形式】输入只有一行,包括一个正整数n。
【输出形式】输出可能有若干行,每行是一种得分的序列,包括得5分的次数、得8分和得10分的次数,前导符和次数之间用英文冒号分隔,相邻得分次数之间用一个空格分隔。
【样例输入】
40
【样例输出】
5:0 8:0 10:4
5:0 8:5 10:0
5:2 8:0 10:3
5:4 8:0 10:2
5:6 8:0 10:1
5:8 8:0 10:0
【样例说明】
最后得分为40,总共有6种得分组合,比如4个10分,或者5个8分,或者2个5分3个10分,等等。
【示例代码】
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int sum=0,x=0,y=0,z=0;
int a=5,b=8,c=10;
x=n/a;
y=n/b;
z=n/c;
for(int i=0;i<=x;i++)
{
for(int j=0;j<=y;j++)
{
for(int k=0;k<=z;k++)
{
sum=a*i+b*j+c*k;
if(sum==n) cout<<a<<":"<<i<<' '<<b<<":"<<j<<' '<<c<<":"<<k<<endl;
}
}
}
cout<<endl;
return 0;
}