您的位置:首页 > 其它

八枚硬币中存在着一枚假币(一)

2009-11-14 21:59 218 查看
前些日子朋友问我这样一道题: 八枚硬币中存在着一枚假币,假币特点:要么轻要么重,用程序描述下来 要求取出假币,并判断轻重。
如下程序,如有不对,敬请批正

package run;
/**
* 八枚硬币中存在着一枚假币,假币特点:要么轻要么重,用程序描述下来
*
* 要求取出假币,并判断轻重
*
* @author JRunner
*
* Email:jrunner@126.com
*/
public class Test_1 {
/**
* 方法一
*/
public static void main(String[] args) {
int[] c = { 4, 4, 4, 4, 4, 4, 4, 10 };
int j = 0;// 记录两枚不同的硬币中的一个 范围1-7
for (int i = 1; i < 8; i++) {
if (c[i] != c[0]) {
j = i;
break;
}
}
// 如果运气好,第一次就取出不同点两枚c[0] 、 c[1]
if (j == 1) {
if (c[0] == c[2]) {
print(c[1], c[2], 1);
} else {
print(c[0], c[2], 0);
}
} else {
print(c[j], c[0], j);
}
}
private static void print(int jia, int zhen, int i) {
if (jia > zhen) {
System.out.println("位置为" + (i + 1) + "是假币,且偏重");
} else {
System.out.println("位置为" + (i + 1) + "是假币,且偏轻");
}
}
}
本文出自 “艾客” 博客,请务必保留此出处http://jrunner.blog.51cto.com/1015356/227189
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐