用100元买糖,巧克力3元一块,奶糖2元一块,水果糖0.5元一块。请计算出购买100块糖有几种方案
给个代码

解决方案 »

  1.   

    上大一的题目了,
    定义三个变量用于存放i,j,k,只要k是偶数,3*i+2*j+0.5*k = 100,i>=0,j>=0,K>=0,只要这个式子成立即可。
      

  2.   

    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);

    }
    }
    哪不对了?
      

  3.   

    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)
      

  4.   

    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种
      

  5.   

    /*百钱买百鸡
    *公鸡五钱一只;母鸡三钱一只;小鸡一钱三只;
    *
    *现有一百钱,问可以买多少只公鸡,母鸡.小鸡?
    */
    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();
              }
                }
        }
    }
    }
    这是我去年写的百钱百鸡的程序.应该和你的差不多.当然.我现在也是菜鸟.
      

  6.   

    你的程序没有说明是100个糖,只使说明要把钱花完
    建议你读读楼上的那个百鸡百钱问题,两重循环就够了
    但是由于你的题目并没有要求100元钱必须花完
    那么算法可能就和楼上的不一样了。在加上约束条件的时候,只需要使买够了100个而且没花完100元都算正确解。
    但是如果数据量大,条件多的时候的时候穷举法是行不通的。有兴趣研究的话可以通过邮箱联系我[email protected]
      

  7.   

    for(i=0;i<100;i++)
    for(j=0;j<100-i;j++)
    {k=100-i-j;
    if((3*i+2*j+0.5*k==100))
    {sum=sum+1;}
    }