列表

详情


NC236934. 第三心脏

描述

给定两个正整数 a,b,求一个最小的正整数 c 满足:

输入描述

本题有多组数据。
第一行一个正整数 ,表示数据组数。
对于每组数据:
仅一行,依次输入两个正整数

输出描述

对于每一组数据输出一行,即符合要求的最小的正整数 c

示例1

输入:

4
3 6
7 2
12 60
114514 1919810

输出:

9
21
24
229028

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++ 解法, 执行用时: 59ms, 内存消耗: 556K, 提交时间: 2022-05-13 19:12:49

#include<bits/stdc++.h>
using namespace std;
int main(){
  long long a,b,c,i;
  int T;cin>>T;
  for(int q=1;q<=T;q++){
  cin>>a>>b;
  for(c=2*a;;c=c+a){
    if(gcd(a,b)==gcd(b,c))
      break;
  }
    cout<<c<<endl;
  }
}

pypy3 解法, 执行用时: 325ms, 内存消耗: 28736K, 提交时间: 2022-05-13 22:22:56

from math import gcd
for _ in range(int(input())):
    a, b = map(int, input().split())
    c = 2 * a 
    while True:
        if gcd(a, b) == gcd(b, c):
            break 
        c += a 
    print(c)

Python3 解法, 执行用时: 168ms, 内存消耗: 5048K, 提交时间: 2022-05-15 23:55:31

from math import gcd

for _ in range(int(input())):
    a,b=map(int,input().split())
    k=2
    while gcd(a,b)!=gcd(b,k*a):
        k+=1
    print(k*a)

上一题