在某次實彈射擊訓練中,班長將十個戰士圍成一圈發子彈。首先,班長給第乙個戰士10顆,第二個戰士2顆,第三個戰士8顆,第四個戰士22顆,第五個戰士16顆,第六個戰士4顆,第七個戰士10顆,第八個戰士6顆,第九個戰士14顆,第十個戰士20顆。然後按如下方法將每個戰士手中的子彈進行調整:所有的戰士檢查自己手中的子彈數,如果子彈數為奇數,則向班長再要一顆。然後每個戰士再同時
將自己手中的子彈分一半給下乙個戰士(第10 個戰士將手中的子彈分一半給第1個戰士)。問需要多少次調整後,每個戰士手中的子彈數都相等?每人各有多少顆子彈?
要求輸出每輪調整後各戰士手中的子彈數。
要求結果的輸出格式為
0 10 2 8 22 16 4 10 6 14 20 各戰士手中原始的子彈數
1 xx xx xx xx xx xx xx xx xx xx 第1輪各戰士手中的子彈數
2 xx xx xx xx xx xx xx xx xx xx 第2輪各戰士手中的子彈數
……n xx xx xx xx xx xx xx xx xx xx 最後一輪各戰士手中的子彈數(應相等)
#includeusing namespace std;
#define soldiers 10
static int bullettotalamount=0;
static int bullet[soldiers]=;
bool passbullet(int soldiersn);//sn = serial number
void printfresult(int count);
int main( void )
int count=0;
if ( flag )
while ( passbullet(count++) );
}printfresult( count );
system("pause");
return 0;
}bool passbullet(int soldiersn)//sn = serial number
else
}//pass
int temp;
temp = bullet[soldiers-1];
for ( i = (soldiers-1); i > 0; i-- )
bullet[i] += temp;
//end
if ( (bullettotalamount % soldiers) == 0 )
else
return true;
}void printfresult(int count)
0 10 2 8 22 16 4 10 6 14 20
1 15 6 5 15 19 10 7 8 10 17
2 17 11 6 11 18 15 9 8 9 14
3 16 15 9 9 15 17 13 9 9 12
4 14 16 13 10 13 17 16 12 10 11
5 13 15 15 12 12 16 17 14 11 11
6 13 15 16 14 12 14 17 16 13 12
7 13 15 16 15 13 13 16 17 15 13
8 14 15 16 16 15 14 15 17 17 15
9 15 15 16 16 16 15 15 17 18 17
10 17 16 16 16 16 16 16 17 18 18
11 18 17 16 16 16 16 16 17 18 18
12 18 18 17 16 16 16 16 17 18 18
13 18 18 18 17 16 16 16 17 18 18
14 18 18 18 18 17 16 16 17 18 18
15 18 18 18 18 18 17 16 17 18 18
16 18 18 18 18 18 18 17 17 18 18
17 18 18 18 18 18 18 18 18 18 18
請按任意鍵繼續. . .
C語言經典例題
學習中碰到的許多例題 include int main return 0 水仙花數的大概演算法就是通過for迴圈提取出每一位數,再利用if語句判斷最後輸出。當然,也可以換一種迴圈,大致就是這樣的演算法。includeint main return 0 利用for迴圈的巢狀還可以,做出許多更強的東西。...
c語言經典例題及解析
素數,就是除了1和他本身,不能被其他數整除的數字。今天我們將用三種不同的方法來實現 輸出100到200之間的素數 請往下看 1 第一種方法就是用100到200之間的每個數字,除以2到其本身前面的那乙個數字,如果此過程中出現整除的現象,則該數不是素數。如果沒有整除的現象,則該數為素數輸出。includ...
C語言經典例題小練
企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 60萬到100萬之間時,...