Java百元买百鸡的问题

Python021

Java百元买百鸡的问题,第1张

第二种情况下

你有没有发现

你的循环条件变了?小鸡32只,公鸡100只,母鸡200只。这样已经超过了一百元

,你解决的不是百元买百鸡的问题了!还有这个循环执行了次数是不同的!因为这个i

*

0.5

+

j

*

2

+

k

*

3的值

将很快到达一百!

public

static

void

splitMoney(int

n){

int

count

=

0//此变量为计数器

for

(int

b

=

0

b

<=

n

b=b+5)

{

for

(int

c

=

0

c

<=

n

c=c+2)

{

for

(int

d

=

0

d

<=

n

d=d+1)

{

if(b>=0&&c>=0&&d>=0&&(n-(b+c+d))>=0){

System.out.print(n

+

"元="

+

(b/5)

+

"个5元

+"

+

(c/2)

+

"个2元

+"

+

(d/1)

+

"个1元

+"

+

(n

-

(b+c+d))+"个1元\n")

count++

}

}

}

}

System.out.println("\n"

+

"总共有"

+

count

+"种方法")

希望对你有用

public static void main(String[] args) {

int total=100// 一共100钱

int gong, mu, xiao// 公鸡母鸡小鸡初始

for(gong=0gong <= 20gong++) {

total=100 - gong * 5

for(mu=0mu <= total / 3mu++) {

total=total - mu * 3

for(xiao=0xiao <= 3 * totalxiao+=3) {

int i=xiao / 3

if(total - i == 0) {

System.out.println("公鸡:" + gong + "只母鸡" + mu + "只小鸡:" + xiao)

}

}

}

}

}