不用long long,用log(a*b) = log(a+b)这个性质来做,但是需要定义一个误差来避免精度丢失。
#include<iostream>
#include<cmath>
using namespace std;
const double eps=1e-5;
int main(){
int a,b,c;
while(cin >> a >> b >> c){
if(a+b==c || abs(a-b)==c || abs(log(a)+log(b)-log(c)) <eps || abs(abs(log(a)-log(b))-log(c))<eps) cout << "YES" <<endl;
else cout<<"NO"<<endl;
}
return 0;
}