题解:洛谷 P2415 集合求和

【题目来源】

洛谷:P2415 集合求和 - 洛谷 (luogu.com.cn)

【题目描述】

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

【输入】

集合中的元素(元素 \(\le 1000\)

【输出】

\(s\) 所有子集元素之和。

【输入样例】

2 3

【输出样例】

10

【算法标签】

《洛谷 P2415 集合求和》 #数学# #排列组合#

【代码详解】

#include <bits/stdc++.h>  // 包含标准库头文件(万能头文件)
using namespace std;      // 使用标准命名空间

long long ans;           // 定义变量:存储最终结果(使用long long防止溢出)
int a, k = 0;            // 定义变量:a存储当前输入数字,k统计输入数字个数

int main()
{
    // 循环读取输入的数字,直到输入结束
    while (cin >> a) 
    {
        ans += a;  // 累加所有输入数字的和
        k++;       // 统计输入数字的个数
    }
  
    // 计算结果:总和乘以2的(k-1)次方
    ans = (long long)ans * pow(2, k - 1);
  
    // 输出最终结果
    cout << ans << endl;
  
    return 0;  // 程序正常结束
}

【运行结果】

2 3
^Z
10
posted @ 2026-02-16 20:10  团爸讲算法  阅读(1)  评论(0)    收藏  举报