zoukankan      html  css  js  c++  java
  • 买书最低价问题

    设计思路

    根据计算可看出以下规律:

      买6本书时,买5本一套和单买1本是最低价。

      买7本书时,买5本一套和2本一套是最低价。

      买8本书时,买两套4本的是最低价。

      买9本书时,买5本一套和4本一套是最低价。

    所以当买书的数量mol5余3时是特殊情况,其余情况都有规律可循。

    当余3时有两种情况。

      第一种情况是只买3本,直接输出买3本一套的价钱就OK。

      第二种情况可以是买8本、13本、18本……买书的数量先减去8计算买5本一套的价钱后再加上买两套4本的价钱即是最低价。

    源程序代码

     1 #include <iostream>
     2 using namespace std;
     3 
     4 void main()
     5 {
     6     int n,a,b;
     7     double min;
     8     cout<<"请输入购买书的数量:";
     9     cin>>n;
    10     a=n%5;
    11     if (a==0)
    12     {
    13         min=(n-a)/5*(8*5)*0.75;
    14     }
    15     if (a==1)
    16     {
    17         min=(n-a)/5*(8*5)*0.75+8;
    18     }
    19     if (a==2)
    20     {
    21         min=(n-a)/5*(8*5)*0.75+15.2;
    22     }
    23     if (a==3)
    24     {
    25         if (n==3)
    26         {
    27             cout<<"最低价格是:21.6"<<endl;
    28             exit(0);
    29         }
    30         min=(n-8)/5*(8*5)*0.75+51.2;
    31     }
    32     if (a==4)
    33     {
    34         min=(n-a)/5*(8*5)*0.75+25.6;
    35     }
    36     cout<<"最低价格是:"<<min<<endl;
    37 }


    运行结果截图

    编程总结

    解决该问题编程不是首要难题,利用数学方法该怎么计算是主要的难点,先利用数学思想考虑问题,只要思路对了,编程过程很简单。所以编程之前需要有足够的时间考虑问题!

  • 相关阅读:
    全站301跳转 PHP
    linux flush memcache缓存
    php Memcache
    PHP MemCached win安装
    windows下安装memcache
    2013 年最好的 20 款免费 jQuery 插件
    License Manager 10.3启动失败解决方法
    .ecp认证文件(10.3版本)
    ArcGIS 10.3 安装及破解
    win7下安装MYSQL报错:"MYSQL 服务无法启动"的3534问题
  • 原文地址:https://www.cnblogs.com/BUANG/p/4490840.html
Copyright © 2011-2022 走看看