本帖最后由 赵小豪 于 2014-4-10 21:30 编辑
//4门语言5个人我不知道一门语言二个人教算不算,我在这是算成立的。这只是我的想法。如果有不同请再告诉我。
public class Text7 {
public static void main(String[] args) {
int zhao, qian, sun, li, zhou, i, j, k, flag;
String str[] = { "英", "法", "德", "俄" };// 定义一个数组存储语言
int arr[] = { 0, 0, 0, 0, 0 };// 初始一个数组代表5位老师用于存储他们对应所教的语言,
// 1=英 2=法 3=德 4=俄 让每位老师不断的去循环,去测试看是否成立
for (zhao = 1; zhao <= 4; zhao++) {
for (qian = 1; qian <= 4; qian++) {
for (sun = 1; sun <= 4; sun++) {
for (li = 1; li <= 4; li++)
for (zhou = 1; zhou <= 4; zhou++) {
flag = 1;
arr[0] = zhao;
arr[1] = qian;
arr[2] = sun;
arr[3] = li;
arr[4] = zhou;
for (i = 1; i <= 4; i++) {
k = 0;
for (j = 0; j < 5; j++) {
if (i == arr[j])
k++;//计数
}
if (k == 0) {//有语言没有人教则退出
flag = 0;
break;
}
}
if (flag == 1)//一人教一门语言
if ((qian == 3 && sun != 4)//如果小钱教德语,那么小孙不教俄语
|| (li == 3 || qian == 3)//或者小李教德语,或者小钱教德语
&& (sun != 4 && zhao != 2)//如果小孙不教俄语,那么小赵不教法语
|| (zhao == 2 || zhou != 1)) //或者小赵教法语,或者小周不教英语。
{
//如果小李教德语则打印输出
if (li == 3) {
System.out.print(" 赵:" + str[zhao - 1]
+ "\t");
System.out.print(" 钱:" + str[qian - 1]
+ "\t");
System.out.print(" 孙:" + str[sun - 1]
+ "\t");
System.out.print(" 李:" + str[li - 1]
+ "\t");
System.out.println(" 周:" + str[zhou - 1] + "\t");
}
}
}
}
}
}
}
} |