Java用函式寫分糖果

2021-08-18 12:19:45 字數 1755 閱讀 7326

題目:10個小孩圍成一圈分糖果,老師分給第乙個孩子10塊,第二個小孩2塊,後面依次分的糖果數量為8、22、16、4、10、6、14、20。然後所有的小孩同時將手中的糖果分一半給右邊的小孩,糖果為奇數的可向老師要一塊。問經過幾次後,大家手中的糖果的塊數將一樣多,每個人有多少糖果。

解題思路:

(1)先初始化乙個陣列,這個陣列長度為10,元素分別為每個孩子的糖果數

(2)判斷每個孩子手中的糖果數是否一樣,即判斷陣列的每個元素是否相等

a. 定義乙個計數器,每判斷一次相等,計數器+1,如果計數器的次數為陣列的長度-1,則每個孩子手裡的糖果數一樣多

(3)分糖果,每個孩子的糖果=前乙個孩子糖果數一般+自己糖果數一半,分完後為奇數的再找老師要乙個

(4)用乙個計數器計算分糖果的次數

**:

publicstatic voidmain(string args) ;

intcount= 0;     //

計算分了多少次

while(!issame(arr))

system.out

.printf("分%d

次後小朋友手裡糖果相等,糖果數為

%d",count,arr[0]);

}/**

* 獲取前乙個人的糖果的一般加上自己手裡的一半

* 分完自己為奇數則找老師要乙個

*@param arr待分的陣列

*@return返回分完後的陣列

*/private static intdistributecandy(intarr)

//奇數個糖塊的同學再找老師要一塊

for(inti=0; ilength;i++)

}returnarr[9];

}/**

* 判斷每個小朋友的糖果數是否相等

* 定義乙個

count

計數器* 比較次數為陣列長度

-1時說明全部比較過了,

* 則每個小朋友手裡的糖果一樣多

*@param arr待判斷是否每個元素都相等的陣列

*@returntrue:陣列元素都相等

false:

陣列元素不完全相等

*/private static booleanissame(intarr)

}if(count== arr.length-1)

returnflag;}

執行結果:分16次後每個孩子手裡的糖果是18個

在寫程式時,應該先寫思路,如果自己是初學寫程式,應該將思路寫得足夠細,再將思路翻譯成相

應的計算機語言,這樣寫程式會簡單很多。並且,每寫完乙個程式應該做相應的總結和思考,因此要寫心得 體會。

寫函式時要對函式進行相應的注釋,這樣做能提高**的可讀性,並且能清楚的看到函式的功能。

分糖果問題(java)

10個小孩圍成一圈分糖果,老師分給第乙個小孩10塊,第二個小孩2塊,第三個小孩8塊,第四個小孩22塊,第五個小孩16塊,第六個小孩4塊,第七個小孩10塊,第八個小孩6塊,第九個小孩14塊,第十個小孩20塊。然後所有的小孩同時將手中的糖分一半給右邊的小孩 糖塊數為奇數的人可向老師要一塊。問經過幾次後大...

LeetCode 575 分糖果(java實現)

給定乙個偶數長度的陣列,其中不同的數字代表著不同種類的糖果,每乙個數字代表乙個糖果。你需要把這些糖果平均分給乙個弟弟和乙個妹妹。返回妹妹可以獲得的最大糖果的種類數。示例 1 輸入 candies 1,1,2,2,3,3 輸出 3 解析 一共有三種種類的糖果,每一種都有兩個。最優分配方案 妹妹獲得 1...

用函式寫幾道題。

1.實現乙個函式,列印乘法口訣表,口訣表的行數和列數自己指定,輸入9,輸出99口訣表,輸入12,輸出1212的乘法口訣表。define crt secure no warnings include includevoid mul int n 自定義的乘法函式。int main 2.使用函式實現兩個數...