喝汽水,1瓶汽水1元,两个空瓶可以兑换1瓶汽水,给20元,可以喝到多少瓶汽水?
有两种解决方案
1.第一种
//喝汽水问题 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int money = 0; int empty = 0;//空瓶数 int total = 0; scanf("%d", &money); total = money + total;//钱可以买到的汽水数 empty = money; while (empty >= 2) { total += empty / 2; empty = empty / 2 + empty % 2;//空瓶数=换过的+原来剩余的 } printf("%d\n", total); return 0; }
2.第二种
//第二种 int main() { int money = 0; int empty = 0;//空瓶数 int total = 0; scanf("%d", &money); if (money > 0) { total = money * 2 - 1; } printf("%d\n", total); return 0; }