`
linest
  • 浏览: 150732 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

ZOJ-2388 和差逆推

    博客分类:
  • acm
 
阅读更多
2388:已知两整数的和值和差值的绝对值,求这两个数。

a+b=sum
a-b=diff

a=(sum+diff)/2;
b=(sum-diff)/2;

简单题,依据上面公式求解。需要注意的是除2操作,若奇数除2会舍弃小数。计算出a,b后在验证一下是否真的符合原式。

#include<stdio.h>
#include<iostream>
using namespace std;


int main()
{	
	int n;
	int sum;
	int diff;
	int a;
	int b;

	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>sum;
		cin>>diff;
		a=(sum+diff)/2;
		b=(sum-diff)/2;

		if(a>=0&&b>=0&&a+b==sum)
			cout<<a<<" "<<b<<endl;
		else
			cout<<"impossible"<<endl;
	}


}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics