//Java import java.util.Scanner; import java.util.Vector; import java.math.BigDecimal; class uva11001{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); double v,v0; while(sc.hasNextInt() && (v=sc.nextDouble())!=0 &&(v0=sc.nextDouble())!=0){ double max=0; //計算當V>V0時有多少種長度,並記錄下來。 Vector<Double> vector=new Vector<Double>(); for(int i=1;i<v;i++){ if(v/i>v0){ BigDecimal change=new BigDecimal(0.3*Math.sqrt(v/i-v0)*i); change=change.setScale(5,BigDecimal.ROUND_DOWN); //取到小數點下5位。C/C++用float即可。 double temp2=Double.parseDouble(change.toString()); vector.add(temp2); if(temp2>max) max=temp2; //紀錄最大數值。 } } //Output if(vector.size()==0)System.out.println("0"); //當size=0代表沒有找到。 for(int i=0;i<vector.size();i++){ if(vector.get(i)==max){ boolean flag=true; //判斷是否有相同數值。 for(int j=i+1;j<vector.size();j++){ if((double)vector.get(j)==max) flag=false; } if(flag) System.out.println(i+1); else System.out.println("0"); break; } } } } }