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

题目描述

给定一个集合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 集合求和 题解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值