2020-05-18 — 习题训练一A - Phoenix and Balance

VJ

A - Phoenix and Balance

题意:Phoenix 有n个重量为2^1 , 2^2 , 2^3…2^n的硬币,分成两堆,使总重量之差为最小值。
解题思路:根据例题,发现规律,其最小值为2+2^2+2^3+...+2^n/2。

ac代码:

 

#include<iostream>
using namespace std;
int main(){
	int t,n,i,m,j,sum,s;
	cin>>t;
	for(i=0;i<t;i++){
		cin>>n;
		m=n/2;
		sum=0;
		s=1;
		for(j=1;j<=m;j++){
				s*=2;
				sum+=s;
		}
		cout<<sum<<endl;
	}
	return 0;
}

 

 
posted @ 2020-05-20 11:07  nanmoon  阅读(108)  评论(0编辑  收藏  举报