喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以喝多少汽水
分析 : 20元 可以喝20瓶
可以得 20空瓶 可以换 10瓶
10瓶 可以喝10瓶
可以得 10空瓶 可以换 5瓶
5瓶 可以喝5瓶
可以得 5空瓶 可以换 2瓶 还剩下1一个空瓶
2瓶 可以喝2瓶
可以得 2空瓶 可以换 1瓶 正好可以 还有上一次1一个空瓶与这次一个空瓶又可以换一瓶汽水
1瓶 可以喝1瓶
可以得 1空瓶 可以换 0瓶 结束
按照步骤代码:
int main()
{
int mony = 0; //金额
scanf("%d", &mony);
int total = mony; //总喝的瓶数
int space = mony; //空瓶数
do
{
total += space / 2;
space = space / 2 + space % 2;
} while (space > 1);
printf("%d ", total);
return 0;
}
按照规律代码:
int main()
{
int mony = 0; //金额
scanf("%d", &mony);
int total = mony; //总喝的瓶数
if(mony > 1)
{
total = mony * 2 - 1;
}
printf("%d ", total);
return 0;
}