注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

反复计算的问题  

2011-03-22 13:07:26|  分类: C & C++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

有这么道题目:在自动贩卖机里卖巧克力派,1块钱一个,每个巧克力派里面都有一张优惠卷,凑够7个优惠卷换一个巧克力派,问N块钱,可以买+换多少巧克力派,并剩下几张优惠卷。
例如:
输入:20

输出:巧克力:23 优惠卷:2

程序代码如下:

#include <stdio.h

#include <stdlib.h> 

int main(int argc, char *argv[])

{

       int qian,quan,total;

       int i=0;

       scanf("%d",&qian);

       total=qian;

       quan=qian;

       while((int)(quan/7))

       {

              total+=quan/7;

              quan=quan%7+quan/7;

       }

       printf("巧克力:%d,剩余券:%d\n",total,quan);     

       system("PAUSE");

       return 0;

}

 这本来是一个很简单的问题,不过我以前碰到一个更有意思的题目:

话说汽水一元钱一瓶,三个空瓶又可以换一瓶汽水,问现在有1000元钱,能呵多少瓶汽水呢?

哈哈,这还不简单,用上面的程序跑一下就可以了,只要把7变为3,输出格式修改一下不就OK了吗?

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

       int qian,quan,total;

       int i=0;

       scanf("%d",&qian);

       total=qian;

       quan=qian;

       while((int)(quan/3))

       {

              total+=quan/3;

              quan=quan%3+quan/3;

       }

       printf("汽水:%d,剩余空瓶:%d\n",total,quan);

       system("PAUSE");

       return 0;

}

看看运行结果:

1000

汽水:1499,剩余空瓶:2

看起来不错吧?如果你是一个汽水自动贩卖机,那么完全正确,问题的关键是还剩下两个空瓶

如果是一个精明的小商店老板,你拿两个空瓶去换一瓶汽水,理论上上你是欠他一个瓶子的,但是别忙,喝完那瓶汽水你马上给老板,这事不就搞定了吗?

所以实际上你能够喝到1500瓶汽水,并且不剩一个空瓶子

但是还没完,我们来做一道方程题目:

1瓶汽水=一个汽水瓶容量的汽水(不含瓶子)+1个空瓶

3个空瓶=1瓶汽水

现在好了,简单的两个方程联立,你就会得到:一个汽水瓶容量的汽水(不含瓶子)=2个空瓶

于是,你用1000元钱得到1000汽水和1000个空瓶子之后,

立马将1000个空瓶=500汽水

于是你得到了1500汽水

这应该是最简单的了。不过机器呢,就不知道允不允许你赊欠了。

  评论这张
 
阅读(1186)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016