有一说一,数学不好发现不出来规律的,拿到这道题确实会很棘手。
比如我自己
兄弟会背叛你,女人会离开你,金钱会诱惑你,生活会刁难你,只有数学不会,不会就是不会,怎么学都不会。 —— Karry5307
题目描述
给定一个集合 s(集合元素数量 ≤30),求出此集合所有子集元素之和。
输入格式
集合中的元素(元素 ≤1000)
输出格式
s 所有子集元素之和。
样例 #1
样例输入 #1
样例输出 #1
提示
【样例解释】
子集为:∅,{2},{3},{2,3},和为 2+3+2+3=10。
【数据范围】
对于 100% 的数据,1≤∣s∣≤30,1≤si≤1000,s 所有子集元素之和 ≤1018。
代码部分(吐槽注意)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#include<iostream> #include<cmath> using namespace std; int main(){ int n=0,h=0,tmp; while(cin>>tmp){ h+=tmp; n++; } long long int ans=h*pow(2,n-1); cout<<ans<<endl; return 0; }
|