5.1商场搞活动,原价26元的威化饼干买5赠2,现在要给84名小朋友发礼物,每人一盒,需要多少钱?这是小学3年级的数学题,请用+ -乘除给做出来。

解决方案 »

  1.   

    : yhaa(yhaa:你还小看了这个题,你算的不对!
      

  2.   

    : yhaa:那你给讲讲为什么这么列
      

  3.   

    : yhaa:虽然你的结果是对的,但换个人数,比如10人,你的就不对了,哈哈,看着简单,实际不简单
      

  4.   

    来个狠的
    //n为学生数,p为单价,买h赠k,返回总价
    function MyPrice(n,p,h,k:integer):integer;
    var i,j:integer;
    begin
       i:=0;
       j:=0;
       while j<n do begin
         inc(i);
         inc(j);
         if (i mod h)=0 then j:=j+k;
       end;
       result:=i*p;
    end;
      

  5.   

    lijinghe1(副乡长) :你觉得你的答案对吗?如我只给10个小朋友买饼干,买5个,5*26 ,然后商场送2个,现在是7个,我还要花钱买3个,也就一共花8*26=208带入你列的式子,你自己算算对不对!
      

  6.   

    设5个一套,所以每套价格为26*5=130,买x套
    x*(5+2)<=85,
    ==>x=floor(85/7)
    x=12 余 1
    所以买12套,12套价格为 130*12=1560,在加上另外的一盒26元,一共1586元
      

  7.   

    (84 + (5+2) -1) div (5+2) * 5 * 26
      

  8.   

    : lijinghe1(副乡长) :那你就算算求N个人的通用的答案!也让我帮我小侄子交个作业!
      

  9.   

    function CalculatePrice(Number:DWORD;Price:Currency;PreferentialNum,PresentNum:DWORD):Currency;
    var Groups:DWORD;extends:DWORD;
    begin
      Groups:=Number div (PreferentialNum+PresentNum);
      extends:=Number mod (PreferentialNum+PresentNum);
      Result:=Groups*(Price*PreferentialNum)+extends*Price;
    end;CalculatePrice(84,26.0,5,2);  :)
      

  10.   

    用函数啦,黑黑这样绝对x/y=5/2
    (x+y)*26=26*84其中X是应该买数,Y是赠送数。
    得出X后,再X*26就可以得出正确答案了,
    对不对呀,虽然看似烦,但其实很直观
      

  11.   

    1  n整除(5+2),商为X,余数为Y 
       M1=X*26*5   如Y<5  
       M2=余数*26   如Y>=5
       M2=5*26   M=M1+M2为所求 呵呵,不知对否。
    交作业算84的不就可以吗?
      

  12.   

    [(26*5)/(5+2)]*N84个人哪N=84有什么难地[(26*5)/(5+2)]*84=1560这样绝不会错的。不管N等于多少人都不会错的。你们上面的都不对!伙计给分吧
      

  13.   

    谢谢大家了,也谢谢 lijinghe1(副乡长),作业可以交了,小学3年级出这样的题,不知道老师是怎么想的,不过这个题确实是好题,到现在我也没找到好的答案(让小学3年纪的学生能看懂)!不过确实是好题,得佩服老师,什么叫素质教育,就是把理论和实际联系起来,把数学和生活联系起来。把我搞的在小侄子面前一点脾气都没有。
      

  14.   

    mynameisking(isking) :算算1个人
      

  15.   

    楼主需要通用答案就是 Peploe/(buy + give) * buy * price Peploe   总人数
     buy      比如买5送2,中需要买的那个数量5
     give     比如买5送2,中需要送的那个数量2
     price    单价 
      

  16.   

    to  lijinghe1(副乡长) :
    至少要买5包,也就是至少要7个人以上这条件才能达到。不买够5包人家商家是不会卖给你的(:
      

  17.   

    geyobing(大地精灵)解释的很清楚了。
      

  18.   

    to: mynameisking(isking) ( ) 信誉:100 83和84个人都是1560  -o-你的算法不成立..这个才是标准的计算机算法哈
    function MyPrice(n,p,h,k:integer):integer;
    var i,j:integer;
    begin
       i:=0;
       j:=0;
       while j<n do begin
         inc(i);
         inc(j);
         if (i mod h)=0 then j:=j+k;
       end;
       result:=i*p;
    end;
      

  19.   

    if 余(总人数/7)=5或6或0 then
     钱:=26*5*取整((总人数+2)/7);
    else
     钱:=26*5*取整(总人数/7)+26*余(总人数/7);
      

  20.   

    小学生的办法:
    买x送y,有
    x+y=84,
    y=x/5*2,
    代入算出来x=60,
    Money=...
      

  21.   

    同意lijinghe1(副乡长) 的,要考虑到三年级小朋友的理解能力,只能这么解释了,毕竟这不是编程问题
      

  22.   

    to "jinjazz(我是jin) "
    就算是83也不会错,83比84明明少了一个数怎么会也是等于1560呢?  (:[(26*5)/(5+2)]*83=1541.4285714285714285714285714286
      

  23.   

    哈哈,真不知道"我是jin"是怎么口算的(((::::
      

  24.   

    对于楼上mynameisking(isking)的理解能力我真是无话可说..你不适合做程序员,起码我认为
      

  25.   

    如果设人数为N,实际花的钱为X,那么则有:X:=(N div 7)*26*5/(5+2)+(N mod 7)*26
      

  26.   

    计算公式:
    总价钱=(总人数/(5+2))*5*26+((总人数 mod (5+2)) mod (5+1))*26
    考虑到因素:
    1. 有余数情况。
       (1) 0<=余数<=5。
       (2) 5<余数<7。分应该可以给我了吧,应该来说该考虑到的我都考虑了,不知道还有没有漏洞?
    如果没有了,分是不是应该给我?
    :)
      

  27.   

    补充:
    因为小学生的题人数肯定是常数,可以有几种情况,可以这样算:
    (1)人数为84时:
    84/(5+2)=12(套)
    26*5*12=1560(元)(2)人数为85时:
    85/(5+2)=12(套)...1
    26*5*12=1560(元)
    26*1=26(元)
    1560+26=1586(元)(3)人数为90时:
    90/(5+2)=12(套)...6
    26*5*12=1560(元)
    因为 
    5<6<7
    所以 
    26*5=130(元)
    1560+130=1690(元)呵呵,看一下我们这些IT人士!
    爽呀!谢谢楼主出了这么一个有趣的问题。
      

  28.   

    回复人: mynameisking(isking) ( ) 信誉:100  2004-5-9 15:55:56  得分:0 
     
     
      
    "于伟刚 "太空飞人!呀!!!!!你也是编程员呀,不是宇航员吗?  
     
    于伟刚 是哪国的太空人加宇航员?
      

  29.   

    人数:n
    X=n div 7;
    Y=n mod 7;花X*5*26可得X*7份,
    若Y>=5则需要再公花5*26,有0,1,2份多余,
    若Y<5则需要花Y*26,没有多余.题中n=84,X=12,Y=0,要花12*5*26=1560
    若n=85则要花1560+26
    若n=83则X=11,y=6要花11*5*26+5*26=1560,有一份多余
      

  30.   

    void main() { float money = 0.0f;
    int j = 0; for (int i = 0; i < 84; i++)  // 共计 84 人
    {
    money += 26; // 每个 26 块 if (++j == 5)  // 满5个送2 个
    {
    j = 0;
    i += 2;
    }
    } cout << money << endl;
    }
      

  31.   

    楼主也真是:
    84个人的话,就是小学生的题,换到N个人就不是了
    我觉得这个题lijinghe1(副乡长)已经做对了(N个人的情况)
    --------------------------------------------------------------------------------
    1  n整除(5+2),商为X,余数为Y 
       M1=X*26*5   如Y<5  
       M2=余数*26   如Y>=5
       M2=5*26   M=M1+M2为所求 --------------------------------------------------------
    有人说小学生看不懂x,y,呵呵,那只是一种符号而已.
    我说清楚一点吧:
    N个人,要求:所花的钱是最少的。
    给小学生看的:
    N/(5+2)  
    如果大于5,答案是:(N/(5+2))*5*26+5*26
    如果小于5,答案是:(N/(5+2))*5*26+余数*26这道题我个人觉得没有什么难度,不是小学老师想得复杂,是楼上想得复杂了,(小学生只要求会算,所以只要84个人,整除。高中生就要讨论到N人的人情况。大学生眼里,就成了最优方案,最优数值解用"运筹学"来解)要做稍微有点难度的话,可以做百钱求百鸡等类似的题目,(这道题在程序里就是这一类的题目,只是更简单)
      

  32.   

    俺也来搀和搀和!
    答案如下:
      令 x = 5*n (n=0,1,2,......)
         y = m%5 (y=0,1,2,3,4)
      所以购买的总盒数为:( x + 2*(x/5) ) + y = 84;
                        ===> 7*x/5 + y = 84;  只要将y=0,1,2,3,4等值带入解出x。其中必须满足x为整数。
      所以x = 60, y=0;
      则总钱数:(x+y)*26 = 60*26 = 1560
      

  33.   

    to jinjazz(我是jin) 
    如果人数是82.83.84 那么结果都是一样的 
    都为1560
    所以说你这种算法明显是不对的!!!!!!