随笔 - 18  文章 - 5  trackbacks - 0
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

程序设计基础

牛们

搜索

  •  

最新评论

阅读排行榜

评论排行榜

求解简单应用题

[问题描述]

       n元钱买鸡,其中母鸡3/只,公鸡2/只,小鸡3/只,且每种鸡至少买一只,列出所有可能的购买方案。

[输入格式]

一个整数n(0<=n<=30),表示钱数。

[输出格式]

       如果存在方案,则在输出中每行输出一组方案,以\t键隔开。所有的方案按照母鸡的只数从小到大的顺序输出。如果母鸡的只数相等,则按照公鸡的只数从小到大的顺序输出。

如果没有组合方案,输出三个0

[样例输入1]

20

[样例输出1]

1       1       5

1       4       3

1       7       1

2       1       4

2       4       2

3       1       3

3       4       1

4       1       2

5       1       1

[样例输入2]

3

[样例输出2]

0     0     0


#include<iostream>
using namespace std;
int main()
{
    
int n;
    cin
>>n;
    
int x,y,z,temp;
    
int NumberOfSolutions=0;
    
if (n<3)
    
{
        cout
<<"0\t0\t0"<<endl;
    }

    
for (x=1;3*x<=n;x++)
    
{
        
for (y=1;2*y<=n;y++)
        
{
            temp
=n-3*x-2*y;
                
if (temp<=0)
                
{
                    
break;
                }

                
if (temp%3==0)
                
{
                    z
=temp/3;
                    NumberOfSolutions
++;
                    cout
<<x<<'\t'<<y<<'\t'<<z<<'\t'<<endl;
                }

        }

    }

    
if (NumberOfSolutions==0)
    
{
        cout
<<"0\t0\t0"<<endl;
    }

        
return 0;
}
                
posted on 2009-12-27 08:44 jyy 阅读(53) 评论(0)  编辑 收藏 引用 所属分类: OJ平台

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理