2020-05-18 — 习题训练一A

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;
}

 
原文地址:https://www.cnblogs.com/nanan/p/12922419.html