題目一:每瓶啤酒a元,b個空酒瓶或c個瓶蓋可換1瓶啤酒。x元最多可喝多少瓶啤酒?(不可以賒賬)
分析: 乙個小小的bug
3瓶酒= 3個瓶子 +3個蓋子換第一次2個瓶子 換了一瓶。還剩2個瓶子 4個蓋子然後 2個瓶子 4個蓋子 可以換三瓶啤酒。於是就迴圈了。得之。只有啤酒就換得完……這規則有bug
所以我就不考慮可以賒賬啊, 瓶蓋換空瓶啊之類的
one).最簡單的思路就是順序處理,先買x/a瓶酒,最用酒瓶換,再來用瓶蓋換.
衍生出來的價值三元方程式解法
#include
using
namespace
std;
class peer
static
void setupone(int n, int m)
void finally(int a, int e);
private:
int peerprice;
int peernum;
int peertop;
int peerbeerbottle;
int money;
static
int peertoptopeer, peerbottletopeer;
};int peer::peerbottletopeer = 0;
int peer::peertoptopeer = 0;
void peer::finally(int a, int e)
while ((peertop / peertoptopeer) != 0)
} while ((peerbeerbottle / peerbottletopeer) != 0 || (peertop / peertoptopeer) != 0);
cout
<< "the number of peer :"
<< peernum << endl;
}int main()
設一瓶酒裡的酒價值x,酒瓶價值y,瓶蓋價值z,隨手列個三元一次方程組解得x+y+z=a: by=a; cz=a;
解出x,y,z的值,那麼問題的關鍵又到了最後一次還剩下多少瓶蓋,瓶身
把剩下的總價值算出來, 求出和初態的差值,這個差值就是酒的價值(price),瓶數就是price/x(其實在簡單地分析之後可以得出帶2n(n>=1)錢時,最後總會剩下1個瓶身,3個瓶蓋)
生活中的數學問題(五)
file name math.c creat data 2015.1.24 author zy 生活中的數學問題 捕魚和分魚 a,b,c,d,e五個人在某天夜裡合夥去捕魚,到第二天凌晨 時都疲憊不堪,於是各自找地方睡覺。日上三竿,a第乙個醒來,他把魚分成5分,把多餘的一條魚丟掉,拿走自己的乙份,b,...
2018 6 18 數學問題
define crt secure no deprecate 求正整數n的質因數的個數。120 2 2 2 3 5 所以最後輸出時5 10 9 n至多只存在乙個大於sqrt n 的素因數 這裡只需要篩選到100000就可以 通過素數表,不斷試除,最後求出各個冪指數的和 include 素數表找到10...
2018 6 18 數學問題
2 4 3 8 2 3 3 對分母n 和分子 a進行因子分解後,找到其對應的冪指數相除結果最小的即為最後結果 對n!分解素因數 計算n 中將有幾個p因子ans 計算n p,有n p個整數可以向n 提供乙個p因子 ans n p 計算n p p 有n p p 個整數可以向n 提供兩個因子,相較於上乙個...