换一个角度来考虑这个问题:
可以包含元素2或是不包含2
可以包含元素3或是不包含3
可以包含元素10或是不包含元素10
B的个数总共有2×2×2×2 = 2的9次方个
那么,把A的所有非空子集的元素加起来的时候,1这个元素被加了2的9次方次。1对总和的贡献为1×2^9
同理,包含元素2的非空子集B:
可以包含1或不包含;包含3或不包含
同理,2这个元素被加了2的9次方次,贡献:2×2^9
同理推3,4,10
所以所有非空子集的元素的总和为:
1×2^9 + 2×2^9 + + 10×2^9
=(1+2++10) × 2^9
=(1+10)10/2 × 2^9
= 55×2^9
= 55×512
= 28160
代码写好了,币种和金额作为Money类的属性存储到List中,再将List中重复币种的金额相加,如下(注意在Eclipse或者MyEclispse里面运行时,添加相关的包):
public class Money {
private String type; //币种
private int value; //金额
//初始化币种和金额
public Money(String type,int value){
thistype=type;
thisvalue=value;
}
//这个构造器仅仅用于获得一个Money类去调用isSameType()方法,注意这个类只能在本类中使用
Money(){}
//获取相同类型的币种并且将它们的金额总和放在一个list中
public List isSameType(List<Money> list){
List l = new ArrayList<Money>();
if(list!=null){
for (int i = 0; i < listsize(); i++) {
int sumMoney=listget(i)value;
for(int j = i+1;j<listsize();j++){
if(listget(i)typeequals(listget(j)type)){
sumMoney=sumMoney+listget(j)value;
listremove(listget(j));
j=j-1;//删除一个元素以后还原指针位置
}
}
Money m =new Money(listget(i)type,sumMoney);
ladd(m);
}
}
return l;
}
public String toString(){
return "币种类型:"+ thistype+"\t金额总和:"+thisvalue;
}
public static void main(String[] args) {
//初始化
List<Money> list = new ArrayList<Money>();
Money m1 = new Money("dollar",6);
Money m2 = new Money("renmbi",8);
Money m3 = new Money("dollar",7);
Money m4 = new Money("dollar",9);
Money m5 = new Money("lubu",4);
Money m6 = new Money("renmbi",10);
Money m7 = new Money("lubu",3);
Money m8 = new Money("taidao",15);
listadd(m1);//注意这里加入两次m1
listadd(m1);
listadd(m2);
listadd(m3);
listadd(m4);
listadd(m5);
listadd(m6);
listadd(m7);
listadd(m8);
Money m = new Money();
//求和
List l = misSameType(list);
for (int i = 0; i < lsize(); i++) {
Systemoutprintln(lget(i));
}
}
}
optionvoteView(getSid());这个方法获取到的集合,里面的元素是Long[]
所以你可以这么做
for(Object[] o:list){
if (olength>=3)
{
num=IntegervalueOf(o[2]toString());
}
}
以上就是关于设集合A={1,2,3,4,5,6,7,8,9,10},求集合A的所有非空子集元素的和.全部的内容,包括:设集合A={1,2,3,4,5,6,7,8,9,10},求集合A的所有非空子集元素的和.、java 结果集中list中根据每一个币种进行金额求和怎么写、从List<Object[]>中获取值累加等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)