[洛谷]P2415 集合求和 (#数学 -1.4)

题目描述

给定一个集合s(集合元素数量<=30),求出此集合所有子集元素之和。

输入输出格式

输入格式:

集合中的元素(元素<=1000)

输出格式:


思路

#include <cstdio>
#include <iostream>
#include <math.h>//pow函数要用到
using namespace std;
int main()
{
	long long s=0,i=0,n;
	while(cin>>n)//不断读入n,直到没有数据可读入
	{
		s=s+n;//累加总和
		i++;//计算集合元素个数
	}
	s=s*pow(2,i-1);//本题重要AC公式,每个元素在集合中总共出现了2^(i-1),i为元素中出现的个数
	cout<<s<<endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/apro1066/article/details/80574469
1.4