题目描述
童话世界的玫瑰公主开了一家饮料店,夏天来了,玫瑰公主为了吸取顾客数量,推出了饮料兑换活动,一瓶饮料1金币,两个空的饮料瓶可以兑换一瓶新的饮料,猪猪侠很喜欢喝饮料,于是,他砸掉了自己存了半年的存钱罐(存钱罐里的钱数不确定,随机输入),准备用存钱罐里的钱去买饮料喝,聪明的你帮他算一算他可以喝到多少瓶饮料?
解题思路
1.首先定义三个变量x,s,n,x表示金币数量,s是空瓶数量,n是喝的瓶数
2.然后算出可以直接买多少瓶料,以及多少空瓶
3.最后利用while循环对空瓶数量是否可以换取饮料进行判断
程序源码
#include<stdio.h>
int main(){
int x,s,n;
//x是金币数量,s是空瓶数量,n是喝的瓶数
scanf("%d",&x);
//输入金币数
n=x;//可以直接买x瓶饮料喝掉
s=x;//喝完产生x个空瓶
while(s>1){//当空瓶数量大于1时说明可以兑换,执行循环
n+=s/2;
//喝的瓶数等于直接买的加上空瓶换掉的
s=s/2+s%2;
//现在空瓶数量等于空瓶换掉的加上可能上次未换掉的空瓶
//例如:上次有5个空瓶,只能换2瓶,还剩一个空瓶
}
printf("猪猪侠能喝的饮料瓶数=%d瓶",n);
return 0;
}
运行结果
输入:20 输出:39
文案分享
青春之我,总能从挫折中不断奋起,永不气馁,让高耸的山峰证明攀登的意义,让遥远的路途展现出坚持的力量。