public class work{ public static void main(String[] args){ int i; int j; int k; int sum=0; for(i=0;i<100-i;i++) for(j=0;j<100-i;j++) for(k=0;k<100-i-j;k=k+2) {if((3*i+2*j+0.5*k==100)) {sum=sum+1;}
} System.out.println(sum);
} } 哪不对了?
int i,j,k,; int count=0; for(i=0;i<100;i++) for(j=0;j<100;j++) for(k=0;k<100;k++) if(3*i+2*j+0.5*k = 100@@ i+j+k=100){ count++; } System.out.println(+countd)
public class work { public static void main(String[] args) { int i; int j; int k; int sum = 0; for (i = 0; i < 100; i++) for (j = 0; j < 100 ; j++) for (k = 0; k < 100 ;k++) { if ((3*i+2*j+0.5*k==100)&(i+j+k==100)) { sum++; } } System.out.println(sum); } } 自己对照看吧结果是7种
/*百钱买百鸡 *公鸡五钱一只;母鸡三钱一只;小鸡一钱三只; * *现有一百钱,问可以买多少只公鸡,母鸡.小鸡? */ public class Baiqian { public static void main(String [] args) { int x=0,z=0; int y; for(int i=0;i<20;i++){ x=i; for(int j=3;j<100;j+=3){ z=j; y=100-x-z; if(5*x+3*y+z/3==100&&y>0&&x>0){ System.out.print(x+"\t"+y+"\t"+z+"\t"); System.out.println(); } } } } } 这是我去年写的百钱百鸡的程序.应该和你的差不多.当然.我现在也是菜鸟.
定义三个变量用于存放i,j,k,只要k是偶数,3*i+2*j+0.5*k = 100,i>=0,j>=0,K>=0,只要这个式子成立即可。
public static void main(String[] args){
int i;
int j;
int k;
int sum=0;
for(i=0;i<100-i;i++)
for(j=0;j<100-i;j++)
for(k=0;k<100-i-j;k=k+2)
{if((3*i+2*j+0.5*k==100))
{sum=sum+1;}
}
System.out.println(sum);
}
}
哪不对了?
int count=0;
for(i=0;i<100;i++)
for(j=0;j<100;j++)
for(k=0;k<100;k++)
if(3*i+2*j+0.5*k = 100@@ i+j+k=100){
count++;
}
System.out.println(+countd)
public static void main(String[] args) {
int i;
int j;
int k;
int sum = 0;
for (i = 0; i < 100; i++)
for (j = 0; j < 100 ; j++)
for (k = 0; k < 100 ;k++)
{
if ((3*i+2*j+0.5*k==100)&(i+j+k==100))
{
sum++;
} }
System.out.println(sum); }
}
自己对照看吧结果是7种
*公鸡五钱一只;母鸡三钱一只;小鸡一钱三只;
*
*现有一百钱,问可以买多少只公鸡,母鸡.小鸡?
*/
public class Baiqian
{
public static void main(String [] args)
{
int x=0,z=0;
int y;
for(int i=0;i<20;i++){
x=i;
for(int j=3;j<100;j+=3){
z=j;
y=100-x-z;
if(5*x+3*y+z/3==100&&y>0&&x>0){
System.out.print(x+"\t"+y+"\t"+z+"\t");
System.out.println();
}
}
}
}
}
这是我去年写的百钱百鸡的程序.应该和你的差不多.当然.我现在也是菜鸟.
建议你读读楼上的那个百鸡百钱问题,两重循环就够了
但是由于你的题目并没有要求100元钱必须花完
那么算法可能就和楼上的不一样了。在加上约束条件的时候,只需要使买够了100个而且没花完100元都算正确解。
但是如果数据量大,条件多的时候的时候穷举法是行不通的。有兴趣研究的话可以通过邮箱联系我[email protected]
for(j=0;j<100-i;j++)
{k=100-i-j;
if((3*i+2*j+0.5*k==100))
{sum=sum+1;}
}