设计思路:利用数学归纳法,可以得到一个很简单的规律,那就是只有在大于五且除以五余三时才会出现买八本时两个1234要比5+3便宜,其他就全是5+几就可以了。
代码实现:
package test; import java.util.*; public class MinPrice { public static void main(String[] args) { double price=0; Scanner input=new Scanner(System.in); System.out.println("请输入要购买的书数:"); int book=input.nextInt(); int i=book/5; int j=book%5; input.close(); if(j==1) price =i*30+8; else if(j==2) price =i*30+15.2; else if(j==3) { if(i==0) price=20.6; else price=(i-1)*30+51.6; } else if(j==4) price =i*30+25.6; else price =30*i; System.out.println("最低价购入为:"+price+"元。"); } }
结果截图:
心得体会:
通过这次练习可以知道,总结规律的话肯定比在那瞎想要好得多,有时候动手画一画,可以让人更快找到解决方案。