題目
總共有n枚硬幣均正面朝上碉咆,規(guī)則規(guī)定每次只能將其中p枚硬幣翻面(1≤p≤n)。問最少需要多少次操作才能將所有硬幣翻面。
思路
- 先進行n/p次操作藤树,將(n/p - 1)*p枚硬幣翻面,令r = n % p拓萌,則剩余r + p;
- 考慮將其中x枚反面朝上的硬幣翻面岁钓,p - x枚正面朝上的硬幣翻面;
- 此時剩余正面向上的硬幣總數(shù)為x + r + p - (p - x) = p微王,解方程得x = (p - r) / 2;
- 方程有解的前提是x為偶數(shù)屡限,故p和r應(yīng)同奇偶,如p為奇數(shù)炕倘,每做一次操作钧大,正面向上的硬幣總數(shù)變換奇偶性;
- 現(xiàn)在討論n和p的奇偶關(guān)系:
- n為奇數(shù)罩旋,p為奇數(shù):計k為n/p向上取整
- k為奇數(shù)啊央,可行
- k為偶數(shù),無解
- n為偶數(shù)涨醋,p為偶數(shù):可行瓜饥。
- n為奇數(shù),p為偶數(shù):無解浴骂。
- n為偶數(shù)乓土,p為奇數(shù):計k為n/p向上取整
- k為偶數(shù),可行
- k為奇數(shù)靠闭,無解
- n為奇數(shù)罩旋,p為奇數(shù):計k為n/p向上取整
- 應(yīng)注意n/p介于1到2之間的情況帐我。
答案
如滿足上述奇偶討論的要求:
- 當n/p介于1到2之間時坎炼,答案為3;
- 當n/p大于等于2時拦键,答案為n/p向上取整谣光;
不滿足則無解。