class ForForTest5
{
public static void main(String[] args)
{
/*
这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?
*/
for (int x = 0; x <= 100 ; x++)
{
for (int y = 0; y <= 100 ; y++)
{
for (int z = 0; z <= 100 ; z++)
{
if (((x*3 + y*2 +(z/2)*1) == 100) && ((x + y + z) == 100) && (z % 2 == 0))
//关键点是Z % 2 == 0;小马的数量需要能被整除。
{
System.out.println("大马"+x+"中马"+y+"小马"+z);
}
}
}
}
}
}
关键点是Z % 2 == 0;小马的数量需要能被2整除不能有余数。
结果:
大马2中马30小马68
大马5中马25小马70
大马8中马20小马72
大马11中马15小马74
大马14中马10小马76
大马17中马5小马78
大马20中马0小马80