分糖果问题
问题描述:有2n颗糖果,平均分给哥哥和妹妹两个人。妹妹最多可以分到多少种糖果?
大概思路:
1.统计出这些糖果一共有多少种(以数字代表糖果种类,不同的数字代表不同的糖果);
2.如果种类数量n小于总数的一半m,则妹妹最多可以分到n种;否则可以分到m种
程序:
package com.company;
/*
糖果问题:
有2n颗糖果,其中有x种,平均分给哥哥和妹妹。
问:妹妹最多可以得到多少种糖果
*/
public class candy {
public static void main(String[] args) {
int[] Candy={1,2,1,2,1,2};
int sum=Candy.length;
int s;
for (int i = 0; i < Candy.length-1; i++) {
for (int j = i+1; j < Candy.length; j++) {
if (Candy[i] == Candy[j]) {
sum--;
break;
}
}
}
if(sum<= Candy.length/2)
s=sum;
else
s= Candy.length/2;
System.out.println("妹妹可以分到"+s+"种糖果!");
}
}