zoukankan      html  css  js  c++  java
  • 软件工程个人作业14

    软件工程个人作业14

    思路:(其中X套书指的是X套一模一样的套书;Y本书指Y本一样的书且和前面的套书里的一本一样)

    买一本书时,只有一种情况,8元;

    买两本书时,有2种情况:1. 买2本一样的书,2*8=16元

                            2. 买1套2本的书,2*8-2*8*5%=15.2

    买三本书时,有3种情况:1. 买3本一样的书,3*8=24元

                            2. 买1套2本的书和1本书的书,3*8-8*2*5%=23.2

                            3. 买1套3本的,8*3-3*8*10%=21.6

    买四本书时,有4种情况:1. 买4本一样的书,4*8=32元

                            2. 买1套2本的书和2本书的书,8*4-2*8*5%=31.2

                            3. 买2套2本的书,8*4-8*2*2*5%=30.4

                            4. 买1套3本的书和1本书的书,8*4-8*3*10%=29.6

                            5. 买1套4本的书,8*4-8*4*20%=25.6

    买5本书时,有7种情况:1. 买5本一样的书,5*8=40元

                            2. 买1套2本的书和3本一样的书,8*5-2*8*5%=39.2

                            3. 买2套2本的书和1本书的书,8*5-8*2*2*5%=38.4

                            4. 买1套3本的书和2本一样的书,8*5-8*3*10%=37.6

                            5. 买1套3本的书和1套2本的书和1套3本里的书重复的书,8*5-8*3*10%-8*2*5%=36.8

                            6. 买1套4本的书和1本书的书,8*5-8*4*20%=33.6

                            7. 买1套5本的书,8*5-8*5*25%=30

    买6本书时,有10种情况:1. 买6本一样的书,6*8=48元

                            2. 买1套2本的书和4本一样的书,,6*8-2*8*5%=47.2

                            3. 买2套2本的书和2本一样的书,6*8-2*8*2*5%=46.4

                            4. 买3套2本的书,6*8-3*8*2*5%=45.6

                            5. 买1套3本的书和3本一样的书,6*8-3*8*10%=45.6

                            6. 买1套3本的书和1套2本的书和1套3本里的书重复的书和1本书,6*8-3*8*10%-8*2*5%=44.8

                            7. 买2套3本的书,6*8-2*8*3*10%=43.2

                            8. 买1套4本的书和2本一样的书,6*8-8*4*20%=41.6

                            9. 买1套4本的书和一套2本且和1套4本里的书重复的书,6*8-8*4*20%-8*2*5%=40.8

    10. 买1套5本的书和1本书的书,6*8-8*5*25%=38

    买7本书时,有13种情况:1. 买7本一样的书,7*8=56元

                            2. 买1套2本的书和5本一样的书,,7*8-2*8*5%=55.2

                            3. 买2套2本的书和3本一样的书,7*8-2*8*2*5%=54.4

                            4. 买3套2本的书和1本书,7*8-3*8*2*5%=53.6

                            5. 买1套3本的书和4本一样的书,7*8-3*8*10%=53.6

                            6. 买1套3本的书和1套2本的书且和1套3本里的书重复的书和2本一样的书,7*8-3*8*10%-8*2*5%=52.8

                            7. 买1套3本的书和2套2本的书且和1套3本里的书重复的书,7*8-3*8*10%-2*8*2*5%=52

                            8. 买2套3本的书和1本书,7*8-2*8*3*10%=51.2

                            9. 买1套4本的书和3本一样的书,7*8-8*4*20%=49.6

                            10. 买1套4本的书和一套2本且和1套4本里的书重复的书和1本书,7*8-8*4*20%-8*2*5%=48.8

                            11. 买一套4本的书和一套3本且和1套4本里的书重复的书,7*8-8*4*20%-8*3*10%=47.2

    12. 买1套5本的书和2本一样的书,7*8-8*5*25%=46

    13. 买1套5本的书和1套2本且和1套5本里的书重复的书,

    7*8-8*5*25%-8*2*5%=45.2

    由此可见,购买的每套图书里的本数最多,折扣越大,价格越低。

    源程序:

    package book;
    
    import java.util.InputMismatchException;
    import java.util.Scanner;
    
    public class book {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc =new Scanner(System.in);
            int bug=0;     //输入错误时的判断
            int ts=0;      //可以将书分为ts套5本的图书
            int ys=0;      //分为ts套5本的图书以后剩下的图书可以分为1套ys本的图书
            int num=0;     //图书的本数
            String jg="最少的价钱是:";    //结果
            System.out.println("请输入购买图书的本数:(必须是大于0的正整数)");        
            try                              //判断输入是否错误
            {
                num=sc.nextInt();
            }
            catch(InputMismatchException e)  //捕捉输入错误
            {
                 System.out.println("输入不合法!请输入整数!");
                 bug=1;
             }
            if(bug!=1)       //输入正确时
            {
                ts=num/5;    //可以将书分为ts套5本的图书
                ys=num%5;    //分为ts套5本的图书以后剩下的图书可以分为1套ys本的图书
                /*计算结果*/
                if(ys==0)    
                {
                    jg+=8*num-8*5*0.25*ts;
                }
                if(ys==1)    
                {
                    jg+=8*num-(ts*8*5*0.25+8);
                }
                if(ys==2) 
                {
                    jg+=8*num-(ts*8*5*0.25+8*2*0.05);
                }
                if(ys==3)   
                {
                    jg+=8*num-(ts*8*5*0.25+8*3*0.1);
                }
                if(ys==4)   
                {
                    jg+=8*num-(ts*8*5*0.25+8*4*0.2);
                }
                System.out.println(jg);
            }
        }
    }

    截图:

    个人总结:

    本次程序要找到规律就很简单,锻炼了我的思考能力。

  • 相关阅读:
    sqlplus登录用户hang住
    ORACLE_19c用户密码登录失败的问题以及ORA-28040
    索引瘦身_oracle_11g
    Linux内存大页设置
    C++ 总体内容(2)
    C++ 总体内容(1)
    vector中erase的用法
    NGUI中的Tween的委托使用
    IOS Android支持中文与本地文件的读取写入
    Unity人工智能学习—确定性AI算法之追踪算法二
  • 原文地址:https://www.cnblogs.com/gzgz/p/5547751.html
Copyright © 2011-2022 走看看