啤酒与饮料算法

Question:

 

    啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。

    我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。

    注意:答案是一个整数。请通过浏览器提交答案。

    不要书写任何多余的内容(例如:写了饮料的数量,添加说明文字等)。

 

Answer:

 1 public class Main{
 2     public static void main(String[] args){
 3         int x = 23;
 4         int y = 19;
 5 
 6         for(int i = 0;i<(823/x)+1;i++){
 7             for(int j = 0;j<((823-i*x)/y)+1;j++){
 8                 if((i<j)&&(i*x+j*y==823)){
 9                     System.out.println(i);
10                     System.exit(0);
11                 }
12             }
13         }
14 
15     }
16 }

 

PS:

遇到有关浮点型的题目时,尽量想办法将浮点数转换为整型(不是绝对的,随行就市),因为有些时候浮点型出错的几率比较大些。

虽然现在几乎都在用eclipse,myeclipse等等的编译软件,但是在控制台有些地方是不一样的。

1 public class Main{
2     public static void main(String[] args){
3         System.out.println(0.1+0.2==0.3);
4         }
5 }

 

结果截图:

 

 

如下代码解释原因:

1 public class Main{
2     public static void main(String[] args){
3         System.out.println(0.1+0.2);
4         }
5 }

 

结果截图:

 

PS:

浮点数:足够接近,而不是完全相等,也可以说:  |a-b|<seta,就认为是相等了。(seta代表一个极小的数字)

posted @ 2019-03-20 21:01  高欣的博客  阅读(363)  评论(0编辑  收藏  举报