NC205056. 牛牛爱数学
描述
输入描述
输入一个T( 1≤T≤105),表示接下来有T组测试数据,接下来T行。每行输入三个数a、b、c。(1≤a、b、c≤109)
输出描述
输出有T行,每行对应一个结果,如果存在,请输出任意一个满足的d的值,不存在请输出"-1"。
示例1
输入:
2 1 1 1 3 4 5
输出:
1 -1
Java 解法, 执行用时: 320ms, 内存消耗: 17800K, 提交时间: 2023-08-11 14:37:00
import java.io.*; public class Main { public static void main(String[] args) throws IOException { StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out)); st.nextToken(); int t = (int)st.nval; while(t-->0) { st.nextToken(); long a=(long)st.nval; st.nextToken(); long b=(long)st.nval; st.nextToken(); long c=(long)st.nval; if(b*c%a==0) pw.println(b*c/a); else pw.println("-1"); } pw.flush(); } }
Java 解法, 执行用时: 1274ms, 内存消耗: 20428K, 提交时间: 2023-08-11 14:35:22
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); int t=sc.nextInt(); while(t-->0){ long a=sc.nextLong(); long b=sc.nextLong(); long c=sc.nextLong(); if(gcd(b*c,a)!=a) System.out.println(-1); else System.out.println(b*c/a); } } static long gcd(long a,long b){ return b==0?a:gcd(b,a%b); } }
Python3 解法, 执行用时: 805ms, 内存消耗: 5112K, 提交时间: 2023-08-11 14:34:05
t = int(input()) for i in range(t): a, b, c = map(int, input().split()) if b * c % a == 0: print( b * c // a) else: print(-1)