C++第4次作业

【项目6:输出星号图】编程序输出*

#include<iostream>

using namespace std;

int main()
{

  int i,j;
  for(i=2;i<=6;i++)
	cout<<" ";
    cout<<"*"<<endl;
  for(i=2;i<6;i++)
  {
      for(j=1;j<=6-i;j++)
        cout<<" ";
        cout<<"*";
	  for(j=1;j<=2*i-3;j++)
	    cout<<" ";
        cout<<"*"<<endl;
  }
  for(j=1; j<=2*i-1;j++)
	cout<<"*";
	cout<<endl;
	return 0;
}



【项目7:穷举法解决组合问题】

(1)百钱百鸡问题:中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?
提示:设鸡翁、鸡母、鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然x的值在0~20之间;同理,y的取值范围在0~33之间,可得到下面的不定方程:
5x+3y+z/3=100
x+y+z=100
所以此问题可归结为求这个不定方程的整数解。
参考答案:
鸡翁0只,鸡母25只,鸡雏75只。
鸡翁4只,鸡母18只,鸡雏78只。
鸡翁8只,鸡母11只,鸡雏81只。
鸡翁12只,鸡母4只,鸡雏84只。

#include <iostream>
using namespace std;
int main()
{
    int i,j,k;
    for (i=0;i<=20;i++)
    {
        for (j=0;j<=100;j++)
        {
            for (k=0;k<=33;k++)
            {
                if(5*i+j/3.0+k*3==100 && i+j+k==100)
                    cout <<"鸡翁"<<i<<"只,"<<"鸡母"<<k<<"只,"<<"鸡雏"<<j<<"只."<<endl ;
            }
        }
    }
    return 0;
}



【项目5:贪财的富翁】一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我两分钱,第三天我仍给你十万元,你给我四分钱,....,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。请编程序,通过计算说明,这个换钱计划对百万富翁是否是个划算的交易。(答案:陌给富:3e+006,富给陌:1.07374e+007   富翁亏了)
提示:(1)需要计算出30天后陌生人给了百万富翁多少钱,百万富翁给了陌生人多少钱,然后才能做出判断;(2)想要看得清楚,可以选择列出每一天,双方交易获得的钱数;(3)给出参考解答,将每天累计给对方的钱列出来,很直观。

#include <iostream>

using namespace std;

int main()
{
    int i;
    double k=0,m=0,n=0.01;
    for (i=1;i<=30;i++)
    {
       k+=100000;
       m=m+n;
       n=n*2;
    }
    cout <<"陌给富="<<k<<endl ;
    cout <<"富给陌="<<m<<endl ;
    if(k>m)
        cout <<"富翁赚了"<<endl ;
    else if (k<m)
        cout <<"富翁亏了"<<endl ;
    else
        cout <<"不赚不亏"<<endl ;
    return 0;
}




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值