1.在12枚硬币中有一个假币(偏轻),给这12枚硬币标号从1到12,现使用天平发现这个假币,请问最少需要称量多少次可以找出这个假币,并且找出这个假币。
用JAVA怎么做class aa{
public static void main(String args[]){
import java.util.Scanner;
static int a[]=new int[12];
for(int i=0;i<=11;i++){
Scanner in=new Scanner(System.in);
int a[i]=in.nextInt();
sum1=a[0]+a[1]+a[2]+a[3];
sum2=a[7]+a[4]+a[5]+a[6];
sum3=a[10]+a[8]+a[9]+a[11];
if(sum1>sum2)
System.out.prinitln("假币在sum1中");
if(sum1>sum3)
System.out.prinitln("假币在sum2中");
if(sum2>sum1)
System.out.prinitln("假币在sum3中");
}
}
}
}
(java)在12枚硬币中有一个假币(偏轻),给这12枚硬币标号从1到12,现使用天平发现这个假币,请问最少需要称
答案:2 悬赏:30 手机版
解决时间 2021-04-13 06:40
- 提问者网友:感性作祟
- 2021-04-12 21:41
最佳答案
- 五星知识达人网友:英雄的欲望
- 2021-04-12 22:21
从if 开始修改如下,最少称3次(也就是3层判断)
if(sum1>sum2)
{
if((a[0]+a[1])>(a[2]+a[3]))
{
if(a[2]>a[3])
System.out.prinitln("假币是第4枚")
else
System.out.prinitln("假币是第3枚")
}
else
{
if(a[0]>a[1])
System.out.prinitln("假币是第2枚")
else
System.out.prinitln("假币是第1枚")
}
}
else if(sum1>sum3)
{
...同上判断
}
else if(sum2>sum1)
{
...同上判断
}
if(sum1>sum2)
{
if((a[0]+a[1])>(a[2]+a[3]))
{
if(a[2]>a[3])
System.out.prinitln("假币是第4枚")
else
System.out.prinitln("假币是第3枚")
}
else
{
if(a[0]>a[1])
System.out.prinitln("假币是第2枚")
else
System.out.prinitln("假币是第1枚")
}
}
else if(sum1>sum3)
{
...同上判断
}
else if(sum2>sum1)
{
...同上判断
}
全部回答
- 1楼网友:封刀令
- 2021-04-12 23:43
2次
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯