这个可以用方程组算出来的呀!用Java也只是用两个循环就可以解决的。
解决方案 »
- 关于如何读取一个本地文件的重复行?
- 经常看到说状态模式可以改写if-else结构,就没有看到有人具体说怎么做。
- JAVA里面输出一个double型数据,怎么精确到小数点后6位
- 请教高手如何应用media player播放器的事件
- (www.ojava.net)常用Java图书和资源下载,不断更新中
- 如何设置在建表的时候就制定表的编码格式为GB2312....
- 如何设置mysql的jdbc驱动程序的classpath
- java 如何读取pdf文档?
- 关于使用Java与sqlserver2000数据库连接的问题
- 写文件时如何不覆盖前面的内容???
- Applet中图片替换的问题
- 新手常见问题!~在线等
公鸡最多33只,也就是x<=33;
母鸡最多20只,也就是y<=33;
小鸡最多100只,也就是z<=100;
然后用一个循环,就ok了.
public static void main(String[] args)
{
for(int i=0;i<101;i++)
for(int j=0;j<101;j++)
for(int k=0;k<33;k++)
{
if((i+j+3*k==100)&&(3*i+5*j+k==100))
{
System.out.println("公鸡"+i+"母鸡"+j+"小鸡"+3*k);
}
}
}
}
public class J{
public static void main(String[] args){
int i;
int j;
for (i = 0; i < 30; i++){
for ( j = 0; j < 20; j++){
if (((100 - 3*i - 5*j) >= 0)){
System.out.print("|gong ji: " + i);
System.out.print(" |mu ji: " + j);
System.out.print(" |xiao ji: " + ((100 - 3*i - 5*j)*3));
System.out.println();
}
}
}
}
}
这个是源程序。
-------------------------
部分输出
|gong ji: 0 |mu ji: 0 |xiao ji: 300
|gong ji: 0 |mu ji: 1 |xiao ji: 285
|gong ji: 0 |mu ji: 2 |xiao ji: 270
|gong ji: 0 |mu ji: 3 |xiao ji: 255
|gong ji: 0 |mu ji: 4 |xiao ji: 240
|gong ji: 0 |mu ji: 5 |xiao ji: 225
|gong ji: 0 |mu ji: 6 |xiao ji: 210
|gong ji: 0 |mu ji: 7 |xiao ji: 195
|gong ji: 0 |mu ji: 8 |xiao ji: 180
|gong ji: 0 |mu ji: 9 |xiao ji: 165
|gong ji: 0 |mu ji: 10 |xiao ji: 150
|gong ji: 0 |mu ji: 11 |xiao ji: 135
|gong ji: 0 |mu ji: 12 |xiao ji: 120
|gong ji: 0 |mu ji: 13 |xiao ji: 105
|gong ji: 0 |mu ji: 14 |xiao ji: 90
|gong ji: 0 |mu ji: 15 |xiao ji: 75
|gong ji: 0 |mu ji: 16 |xiao ji: 60
|gong ji: 0 |mu ji: 17 |xiao ji: 45
|gong ji: 0 |mu ji: 18 |xiao ji: 30
|gong ji: 0 |mu ji: 19 |xiao ji: 15
|gong ji: 1 |mu ji: 0 |xiao ji: 291
|gong ji: 1 |mu ji: 1 |xiao ji: 276
|gong ji: 1 |mu ji: 2 |xiao ji: 261
|gong ji: 1 |mu ji: 3 |xiao ji: 246
|gong ji: 1 |mu ji: 4 |xiao ji: 231
|gong ji: 1 |mu ji: 5 |xiao ji: 216
|gong ji: 1 |mu ji: 6 |xiao ji: 201
|gong ji: 1 |mu ji: 7 |xiao ji: 186
|gong ji: 1 |mu ji: 8 |xiao ji: 171
|gong ji: 1 |mu ji: 9 |xiao ji: 156
|gong ji: 1 |mu ji: 10 |xiao ji: 141
|gong ji: 1 |mu ji: 11 |xiao ji: 126
|gong ji: 1 |mu ji: 12 |xiao ji: 111
|gong ji: 1 |mu ji: 13 |xiao ji: 96
|gong ji: 1 |mu ji: 14 |xiao ji: 81
|gong ji: 1 |mu ji: 15 |xiao ji: 66
|gong ji: 1 |mu ji: 16 |xiao ji: 51
|gong ji: 1 |mu ji: 17 |xiao ji: 36
|gong ji: 1 |mu ji: 18 |xiao ji: 21
|gong ji: 1 |mu ji: 19 |xiao ji: 6
|gong ji: 2 |mu ji: 0 |xiao ji: 282
|gong ji: 2 |mu ji: 1 |xiao ji: 267
|gong ji: 2 |mu ji: 2 |xiao ji: 252
|gong ji: 2 |mu ji: 3 |xiao ji: 237
|gong ji: 2 |mu ji: 4 |xiao ji: 222
|gong ji: 2 |mu ji: 5 |xiao ji: 207
|gong ji: 2 |mu ji: 6 |xiao ji: 192
|gong ji: 2 |mu ji: 7 |xiao ji: 177
|gong ji: 2 |mu ji: 8 |xiao ji: 162
|gong ji: 2 |mu ji: 9 |xiao ji: 147
|gong ji: 2 |mu ji: 10 |xiao ji: 132
|gong ji: 2 |mu ji: 11 |xiao ji: 117
|gong ji: 2 |mu ji: 12 |xiao ji: 102
public static void main(String[] args)
{
for(int i=0;i<33;i++)
for(int j=0;j<20;j++)
for(int k=0;k<300;k++)
{
if((i+j+k/3==100)&&(3*i+5*j+k==100))
{
System.out.println("公鸡"+i+"母鸡"+j+"小鸡"+3*k);
}
}
}
}
public static void main(String[] args) {
for(int i=0;i<=33;i++) {
for(int j=0;j<=20;j++) {
for(int k=0;k<=100;k++) {
if((i+j+k==100) && ((3*i+5*j+(k/3))==100)) {
if(k%3==0) {
System.out.println("gongji="+i+",muji="+j+",xiaoji="+k);
}
}
}
}
}
}
}
gongji=11,muji=8,xiaoji=81
gongji=18,muji=4,xiaoji=78
gongji=25,muji=0,xiaoji=75
public static void main(String[] args){
int cook, hen, chicken;
for (int cook=0; cook<=100/3; cook++){ //
int money=100;
for(int hen=0; hen<=100/5; hen++){
money-=(cook*3);
for(int chicken=0;chicken<=100*3; chicken+=3){
money-=(hen/5);
if(money-chicken/3==0 && cook+hen+chicken==100){
System.out.println(cook+", "+hen+", "+chicken);
}
}
}
}
}
}
发个新的public class Hundred{
public static void main(String[] args){
int cook, hen, chicken;
for (cook=0; cook<=100/3; cook++){
int money=100;
for(hen=0; hen<=100/5; hen++){
for(chicken=0;chicken<=100*3; chicken+=3){
if(money-cook*3-hen*5-chicken/3==0 && cook+hen+chicken==100){
System.out.println(cook+", "+hen+", "+chicken);
}
}
}
}
}
}
import java.util.Date;
public class cock {
public static void main(String[] args) {
Date runStart = new Date();
System.out.println("runstarttime:" + runStart);
for(int i=0;i<=33;i++) {
for(int j=0;j<=20;j++) {
for(int k=0;k<=100;k++) {
if((i+j+k==100) && ((3*i+5*j+(k/3))==100)) {
if(k%3==0) {
System.out.println("gongji="+i+",muji="+j+",xiaoji="+k);
}
}
}
}
}
Date runEnd = new Date();
System.out.println("runendtime:" + runEnd);
}
}
李逍遥的输出不正确,都出现几百只鸡了
if(money-cook*3-hen*5-chicken/3==0 && cook+hen+chicken==100)
这句话判断问题的2个要求是否成立,一旦满足立刻打印输出。
public static void main(String[] args)
{
for(int i=0;i<101;i++)//穷举所有组合方法
for(int j=0;j<101;j++)
for(int k=0;k<33;k++)//k代表3只小鸡为一个单位
{
if((i+j+3*k==100)&&(3*i+5*j+k==100))
{
System.out.println
("公鸡"+i+"母鸡"+j+"小鸡"+3*k);
}
}
}
}
=============================
结果4组
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author ieqq
* @version 1.0
*/public class baiji
{
public static void main(String[] args)
{
int cock, hen, chick;
cock = 0;
hen = 0;
chick = 0;
for (chick = 0; chick <= 33; chick++)
{
// 把三只小鸡看成一个东西来对待.
// 这个问题最好不用除法, 因为那样会出现小数, 会出问题.
// 下面这个方法还可以改的连乘法都不用,适合硬件实现.
for (hen = 0; hen <= (100 - 3 * chick); hen++)
{
cock = 100 - 3 * chick - hen;
if (3 * cock + 5 * hen + chick == 100)
{
System.out.println("公鸡" + cock +
"只, 母鸡" + hen + "只, 小鸡" + 3 * chick +"只!");
} }
}
}
}/////////////////////////////////////////////////////公鸡25只, 母鸡0只, 小鸡75只!公鸡18只, 母鸡4只, 小鸡78只!公鸡11只, 母鸡8只, 小鸡81只!公鸡4只, 母鸡12只, 小鸡84只!
public static void main(String[] args){
int m=1,f=1,y=3;//其中mfy分别表示公鸡母鸡和小鸡
for(m=1;m*3<100;m++){
for(f=1;f*5<100;f++){
for(y=3;y<100;y+=3){
if((m+f+y==100)&&(m*3+f*5+y/3==100)){
System.out.println("Male: "+m+" Female: "+f+" Youny: "+y);
}
}
}
}
}
}最后结果如下:Male: 4 Female: 12 Youny: 84
Male: 11 Female: 8 Youny: 81
Male: 18 Female: 4 Youny: 78
MYLiao(夕阳武士) 把三个小鸡看成一个东西,不久可以了吗不用判断是不是3的倍数.
public static void Main(String[] Args){
for(int i=0;i<=100;i++){
if(3i>100)continue;
for(int j=0;j<=100;j++){
if(3*i+5*j>100)continue;
for(int k=0;k<=100;k++){
if(k%3==0){
if(3i+5*j+k/3==100)
System.out.println("cock="+i+"; hen="+j+"; chicken="+k);
}else{continue;}
}
} } }}