NC208433. 有趣的数学
描述
wq非常喜欢数学。
作为数学爱好者,他常常称呼自己”数学带师“(这是个Fake speech),老师和同学对他也非常认可,请他参与了期末考试的命题,为了让所有人都能做对,他出了一个非常简单的题
现在有a,b,c三个正整数,wq想知道是否存在一个正整数d,使得
成立
输入描述
输入一个T( 1≤T≤1e5),表示接下来有T组测试数据,接下来T行。
每行输入三个数a、b、c。(1≤a、b、c≤1e9)
输出描述
输出有T行,每行对应一个结果,如果存在,请输出任意一个满足的d的值,不存在请输出"-1"。
示例1
输入:
2 1 1 1 3 4 5
输出:
1 -1
C++14(g++5.4) 解法, 执行用时: 203ms, 内存消耗: 3492K, 提交时间: 2020-07-13 22:07:55
#include <iostream> using namespace std; int main() { long long t,a,b,c,d; cin>>t; while(t--) { cin>>a>>b>>c; d=b*c/a; if(a*d==b*c) cout<<d<<endl; else cout<<"-1"<<endl; } return 0; }
C++11(clang++ 3.9) 解法, 执行用时: 231ms, 内存消耗: 3468K, 提交时间: 2020-07-19 15:04:21
#include<iostream> using namespace std; int main(){ int T;cin>>T;long long a,b,c,ans; for(int i=0;i<T;i++) { cin>>a>>b>>c; ans=b*c/a; if(ans*a!=b*c) ans=-1; cout<<ans<<endl; } return 0; }
pypy3(pypy3.6.1) 解法, 执行用时: 463ms, 内存消耗: 29424K, 提交时间: 2020-08-10 10:29:59
t=int(input()) for i in range(0,t): a,b,c=map(int,input().split()) d=b*c//a if(a*d==b*c): print(d) else: print(-1)