登錄 |創建賬號 |找回密碼
查看: 93|回復: 0

瓶盖换啤酒问题

[複製鏈接]

23

主題

6

回帖

128

積分

管理員

Rank: 9Rank: 9Rank: 9

積分
128
發表於 2024-4-2 14:16:19 | 顯示全部樓層 |閱讀模式
  1. #include <stdio.h>

  2. int calculateBeers(int money) {
  3.     int beers = money / 2; // 初始买的啤酒数
  4.     int caps = beers; // 初始瓶盖数
  5.     int bottles = beers; // 初始空瓶数

  6.     while (caps >= 4 || bottles >= 2) {
  7.         while (caps >= 4) {
  8.             beers++;
  9.             caps -= 3; // 用4个瓶盖换一瓶,相当于少了3个瓶盖
  10.             bottles++; // 得到一个空瓶
  11.         }

  12.         while (bottles >= 2) {
  13.             beers++;
  14.             bottles -= 1; // 用2个空瓶换一瓶,相当于少了1个空瓶
  15.             caps++; // 得到一个瓶盖
  16.         }
  17.     }

  18.     return beers;
  19. }

  20. int main() {
  21.     int money = 10; // 初始金额
  22.     printf("Total beers you can drink: %d\n", calculateBeers(money));
  23.     return 0;
  24. }
複製代碼


回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 創建賬號

本版積分規則

Archiver|手機版|小黑屋|九派社區 ( 苏ICP备07501547号-12 )

GMT+8, 2024-5-17 03:23 , Processed in 0.089789 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表