标签:
实验背景
书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
本数 折扣 2 5% 3 10% 4 20% 5 25%
根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。 设计算法能够计算出读者购买一批书的最低价格。
一、设计思想此问题可以折算为如何取余问题
当购买1-5本书时,分别按原价、5%、10%、20%、25%的折扣即可。
当购买6-10本书时,购买一个五本的,再按分别的折扣购买剩下的书。(购买8本书时,购买两个四本的)
当购买10本以上时,对其进行分解,除以5取余再加5计算折扣即可。
二、代码实现
//买书价格最低 //信1405-1班 20142966 黄伟鹏 import java.util.Scanner; public class main { public static void main(String[] args) { int number,i,j=0; //i是余数部分,j是整数部分 double money=0; Scanner in=new Scanner(System.in); System.out.println("请输入要买的书籍数:"); number=in.nextInt(); i=number%5; if(i==0) { money=number*8*0.75; } else if(i==1) { money=(number-1)*8*0.75+8; } else if(i==2) { money=(number-2)*8*0.75+15.2; } else if(i==3) { money=(number-8)*8*0.75+51.2; } else if(i==4) { money=(number-4)*8*0.75+25.6; } System.out.println("读者购买一批书的最低价格是"+money+"元"); } }
三、程序截图
四、个人总结
此类问题只要找到规律即可。
标签:
原文地址:http://www.cnblogs.com/xiaoabu/p/5561789.html