pat的一道题
提交之后有两个测试点过不去
我的代码如下
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = in.next(); double fu = 0,ou = 0,a_2 = 0; int i = 0; if(s.charAt(0)==45){ //如果是负数 fu = 0.5; } while(i<s.length()){ //判断2 的个数 if((s.charAt(i)-48)==2){ a_2++; } i++; } if(s.charAt(s.length()-1)%2==0){ //如果是偶数 ou = 1.0; } double fan2 = 0; if(fu==0){//正数 fan2 = a_2/((double)(s.length())); }else{//负数 fan2 = a_2/(s.length()-1)*(ou+fu); } //测试2的个数/总字符串长度的值 System.out.println(fan2); System.out.printf("%.2f%%",fan2*2*100); } }
请问这是哪点没有通过呢?
题主没看清题意,负数是增加0.5倍,要乘以1.5,偶数是增加1倍,要乘以2.
fan2 = a_2/(s.length()-1)*(ou+fu); // 你这比例因子乘对了吗?
还有正数也可以是偶数,都不知道你其他case是怎么通过的