一瓶可乐2元,2个空瓶换一瓶可乐,有X元钱,可喝到几瓶可乐..用编程算出.

sb3day 2008-10-26 10:00:08
如题:一瓶可乐2元,2个空瓶换一瓶可乐,有X元钱,可喝到几瓶可乐..用编程算出.
答对者奖一瓶可乐
...全文
721 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
frank_ll 2008-10-26
  • 打赏
  • 举报
回复
晕了,居然没有修改功能,冲动了,应该是(Money/2)×2
frank_ll 2008-10-26
  • 打赏
  • 举报
回复
不好意思,看错了,应该是如果两元钱一瓶,
那么如果老板肯借瓶子,可以将一瓶看作1元钱,可以喝到Money/2
frank_ll 2008-10-26
  • 打赏
  • 举报
回复
应该是2x瓶,如果老板肯借瓶子的话可以将每瓶价格看作5毛钱
tiancai1 2008-10-26
  • 打赏
  • 举报
回复
这不是什么题的一个变种吗?
fengyizi 2008-10-26
  • 打赏
  • 举报
回复
/*
一瓶可乐2元,2个空瓶换一瓶可乐,有X元钱,可喝到几瓶可乐..用编程算出.
*/
#include<iostream>
using namespace std;
int main()
{
int x = 0;
while(cout<<"Input Money: ",cin>>x)
{
int buyNum = x/2;
int redeemNum = buyNum/2;
cout<<x<<" mony can get "<<buyNum+redeemNum<<" bottle Coca."<<endl<<endl;
}
return 0;
}

大家觉得对吗?
yangkunhenry 2008-10-26
  • 打赏
  • 举报
回复
晕,错了

#include<stdio.h>
int main()
{
int money;
printf("Money:");
scanf("%d",&money);
printf("bottles:%d\n",(money%2)?(money-1):money);
return 0;
}
yangkunhenry 2008-10-26
  • 打赏
  • 举报
回复

#include<stdio.h>
int main()
{
int money;
printf("Money:");
scanf("%d",&money);
printf("bottles:%d\n",(money%2)?money:(money-1));
return 0;
}
a951753 2008-10-26
  • 打赏
  • 举报
回复
答案就是x瓶

#include <iostream>
using namespace std;

int BottleNum(int i)
{
int num=0;
for (int n=1;;n++)
{
if (i%2==0)
{
i=i/2;
num+=i;
}
else
{
i=(i-1)/2;
num+=i;
i++;
if (i==1)
{
break;
}
}
}
return num+1;//要是老板愿意再借你一瓶,你就可以拿着一个空瓶再喝一杯了
}

void main()
{
int x=19,j;
j=BottleNum(x);
cout<<j<<endl;
}
太乙 2008-10-26
  • 打赏
  • 举报
回复
lz啥意思??自问自答》??
li_il 2008-10-26
  • 打赏
  • 举报
回复
我写的再正确不过了。
li_il 2008-10-26
  • 打赏
  • 举报
回复

#include <stdio.h>

int main( void )
{
int money = 0;
int bottle = 0;

scanf("%d", &money);
bottle = money / 2;


printf("bottleTotal = %d\n", bottle * 2);

return 0;
}
sb3day 2008-10-26
  • 打赏
  • 举报
回复
#include <stdio.h>
/*
** 一瓶可乐2元,2个空瓶换一瓶可乐,有X元钱,可喝到几瓶可乐..用编程算出.
*/

int GetColeNum(int n){
if(n%2==1)return GetColeNum(n-1);
int num = n;
int temp=n;
while (n > 1) {

num += n / 2;
n = n/2 + n%2;
}
return num-temp;
}

int main(){
int x=0;
while (scanf("%d", &x) != EOF) {
printf("F(%d) = %d\n", x, GetColeNum(x));
}
return 0;
}
sb3day 2008-10-26
  • 打赏
  • 举报
回复

#include <stdio.h>
/*
** 一瓶可乐2元,2个空瓶换一瓶可乐,有X元钱,可喝到几瓶可乐..用编程算出.
*/

int GetColeNum(int n){
if(n%2==1)return GetColeNum(n-1);
int num = n;
int temp=n;
while (n > 1) {

num += n / 2;
n = n/2 + n%2;
}
return num-temp;
}

int main(){
int x=0;
while (scanf("%d", &x) != EOF) {
printf("F(%d) = %d\n", x, GetColeNum(x));
}
return 0;
}
//正确否??
jack_luck 2008-10-26
  • 打赏
  • 举报
回复
设一瓶可乐溶液值a,空瓶值b。
则a+b=2;
2b=a+b;
可得到a=b=1;
所以X元就可以喝X瓶,不过可能要先借个空瓶,再还给店家。
void Drink(int x) //x为钱
{
return x;
}

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧