一个饮料厂商推出一个促销活动,活动规则为:3个瓶盖可以换一瓶饮料。
写一个程序。完成计算:如果想喝num_want瓶,至少需要买num_buy瓶。
(其中需要写出一个函数,函数的参数n为购买的瓶数,函数值m为喝到的瓶数。)
输入用例
10
输出用例
7
输入用例
50
输出用例
34
输入用例
100
输出用例
67
你题目的解答代码如下:
#include<stdio.h>
int fun(int n)
{
int m = n;
while (n >= 3)
{
m += n/3;
n = n%3+n/3;
}
return m;
}
int main()
{
int num_want,num_buy=0,m;
scanf("%d", &num_want);
do
{
num_buy++;
m = fun(num_buy);
} while (m<num_want);
printf("%d", num_buy);
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
参考:
#include<stdio.h>
int main()
{
int sum,n,c;//sum代表喝到的总饮料瓶数,c代表当前的瓶盖数
scanf("%d",&n);
sum=n;c=n;
while(c>=3)
{
n=c/3;
sum=sum+n;
c=n+c%3;
}
printf("%d",sum);
return 0;
}