聰明的顧客

題目描述:

1瓶汽水賣1塊錢,顧客還可以用3個空汽水瓶換1瓶汽水喝。請問聰明的顧客最少可以花多少錢買到n瓶汽水喝?

說明:當顧客手中有兩個空汽水瓶的時候,如果店家剩餘1瓶以上,可以選擇先借用1瓶汽水,喝完後連同手裏先前已有的兩個空汽水瓶還給店家即可。

輸入描述:

輸入爲一個正整數n(1<=n<=100),表示可買汽水瓶數。

輸出描述:

輸出爲一個正整數,表示所花錢數。

樣例輸入:

10

樣例輸出:

7

#include<stdio.h>

int main()
{
	int n,money,drunk,bottle;//bottle:手中有汽水瓶的個數 drunk:喝到汽水的瓶數
	scanf("%d",&n);
	for(money=1;1;money++)
	{
		bottle=money;
		drunk=money;
		while(bottle>=3)
		{
			drunk+=bottle/3;
			bottle=bottle/3+bottle%3;
		}
		if (bottle==2)
		{
			drunk+=1;
		}
		if (drunk==n)
		{
			break;
		}
	}
	printf("%d",money);
	return 0;
}




發佈了58 篇原創文章 · 獲贊 51 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章