C語言解決喝汽水問題
題目:喝汽水,1瓶汽水1元,2個空瓶可以換一瓶汽水,給20元,可以喝多少汽水?
方法一、逐瓶購買法
思路:一瓶瓶的買 當空瓶有兩個時,汽水數加1即可。
#include <stdio.h>int main()
{int bottle = 0;int empty = 0;int money = 20;while (money > 0){money--;bottle++;if (bottle % 2 == 0){bottle++;}}printf("%d",bottle);return 0;
}
方法二、一次性購買兌換法
思路:一次性把錢花光買汽水,然后會有一半的空瓶,再兌換汽水,然后又會有空瓶,再次兌換汽水。
#include <stdio.h>int main()
{int money = 20;int bottle = money;int empty = 20;while (empty > 1){bottle += empty / 2;empty = empty / 2 + empty % 2;}printf("%d",bottle);return 0;
}
方法三、公式法
思路:根據要求可以發現滿足2 * money - 1,所以直接代入公式直接求即可
#include <stdio.h>int main()
{int money = 20;int bottle = 0;bottle = 2 * money - 1;printf("%d",bottle);return 0;
}