P2415 集合子集元素求和 输入控制 元素被选中次数

2021年6月16日 4点热度 0条评论 来源: onion20

题目描述

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

输入输出格式

输入:集合中的元素(元素<=1000)

输出格式:和

输入输出样例

输入

2 3

输出

10

题目求解

题目推导:每个元素都有2^(n-1)被选中

题目注意:

  • while(cin>>a),最后调试ctrl+z
  • 公式sum* 2^(n-1)

AC代码如下:

using namespace std;
#include <iostream>
#include <cmath>
int main ()
{
    int i=0,n=0,a;
	long long sum=0;

	while(cin>>a)
	{
		sum=sum+a;
		n=n+1;
	}

	sum=sum*pow(2,n-1);
	cout<<sum;
}

运行:最后输入流停止ctrl+z

while(cin>>a)这
如果输入流正常,就会继续循环获取键盘值,如果输入流错误,或者达到文件末尾(在windows下Ctrl+Z,在Linux下Ctrl+D),该循环就会终止。

参考:P2415 集合求和 题解

    原文作者:onion20
    原文地址: https://blog.csdn.net/onion19/article/details/114634820
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。