百度之星2021——BD202104 萌新

在這里插入圖片描述
輸入格式:
本題有多組測試數據。
第一行一個數 T (1 ≤ T ≤ 1000) 表示一共有 T 組數據。對于每一組數據,輸入一行兩個數 a,b (1 ≤ a,b ≤ 1000000000)。
輸出格式:
對每組數據,輸出一行兩個數分別表示最小與最大的 c,如果不存在滿足題意的 c,則輸出一行兩個 -1。

樣例1:

5
2 3
4 6
14 64
114 514
1919 810

樣例2:

-1 -1
2 2
2 50
2 400
1109 1109

關鍵思路:

重點1:

(同余的定義):a mod c = b mod c, 那么a-b是c的倍數,即 c | (a - b)。
分析:
模運算:a mod c 表示 a 除以 c 的余數,可以表示為 a = k * c + r,其中 0 ≤ r < c;
那么有

?	a mod c = r      ?       a = k * c + r
?	b mod c = r      ?       b = m * c + r

因此,a - b = (k - m) * c,即 a - b 是 c 的倍數。

重點2:

可以通過枚舉a-b的因子去尋找最小和最大的 c 。

注意:當a=b的情況,此時a-b=0,因此需要單獨處理:

  1. 如果a=b=1,則答案為-1,-1,
  2. 否則答案為2,a

具體C++代碼為:

#include<bits/stdc++.h> 
#include <iostream>
#include<algorithm>
#include<map>
#include<vector>
#include<math.h>
#include <string.h>
using namespace std;
using namespace std;int main( )
{int n;cin>>n;while(n--){long long int a,b;cin>>a>>b;long long int cmax=abs(a-b);long long int cmin=0;if(cmax==0&&a>=2)cout<<2<<" "<<a<<endl;else if(cmax>=2){for(int i=2;i*i<=cmax;i++){if(cmax%i==0){cmin=i;break;}}if(cmin==0)cmin=cmax;cout<<cmin<<" "<<cmax<<endl;}else cout<<-1<<" "<<-1<<endl;}return 0;
}

Python代碼:

import mathdef main():import sysinput = sys.stdin.read  # 使用更可靠的輸入方式data = input().split()idx = 0n = int(data[idx])idx += 1for _ in range(n):a = int(data[idx])b = int(data[idx + 1])idx += 2cmax = abs(a - b)cmin = 0if cmax == 0 and a >= 2:print(2, a)elif cmax >= 2:cmin = 0# 改用 math.sqrt 兼容舊版 Pythonsqrt_cmax = int(math.sqrt(cmax)) + 1for i in range(2, sqrt_cmax):if cmax % i == 0:cmin = ibreakif cmin == 0:cmin = cmaxprint(cmin, cmax)else:print(-1, -1)if __name__ == "__main__":main()

Java代碼:

import java.util.Scanner;
import java.lang.Math;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();while (n-- > 0) {long a = scanner.nextLong();long b = scanner.nextLong();long cmax = Math.abs(a - b);long cmin = 0;if (cmax == 0 && a >= 2) {System.out.println("2 " + a);} else if (cmax >= 2) {for (long i = 2; i * i <= cmax; i++) {if (cmax % i == 0) {cmin = i;break;}}if (cmin == 0) {cmin = cmax;}System.out.println(cmin + " " + cmax);} else {System.out.println("-1 -1");}}scanner.close();}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/86542.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/86542.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/86542.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

R語言ICU患者死亡率預測實戰

【圖書推薦】《R語言醫學數據分析實踐》-CSDN博客 《R語言醫學數據分析實踐 李丹 宋立桓 蔡偉祺 清華大學出版社9787302673484》【摘要 書評 試讀】- 京東圖書 (jd.com) 預測ICU患者死亡率對比較藥物的療效、比較護理的有效性、比較手術的有效性有重要意義&#xff0c;利用機…

leetcode240-搜索二維矩陣

leetcode 240 思路 1. 矩陣特性 首先&#xff0c;利用矩陣的特性是解題的關鍵&#xff1a; 每行的元素遞增每列的元素遞增 這意味著&#xff0c;如果我們在矩陣中從右上角或左下角開始搜索&#xff0c;可以有效縮小搜索范圍 2. 從右上角開始搜索 將搜索的起點定位在矩陣…

Linux相關概念和易錯知識點(42)(TCP的連接管理、可靠性、面臨復雜網絡的處理)

目錄 1.TCP的連接管理機制&#xff08;1&#xff09;三次握手①握手過程②對握手過程的理解 &#xff08;2&#xff09;四次揮手&#xff08;3&#xff09;握手和揮手的觸發&#xff08;4&#xff09;狀態切換①揮手過程中狀態的切換②握手過程中狀態的切換 2.TCP的可靠性&…

【web應用】若依框架:若依框架中的頁面跳轉簡介

文章目錄 ?前言1. 后端控制器跳轉2. 前端路由跳轉3. 菜單配置跳轉4. 權限控制跳轉5. 常見跳轉路徑 ?一、主目錄頁面跳轉?二、菜單目錄跳轉?總結 標題詳情作者JosieBook頭銜CSDN博客專家資格、阿里云社區專家博主、軟件設計工程師博客內容開源、框架、軟件工程、全棧&#x…

MS9292+MS9332 HD/DVI轉VGA轉換器+HD環出帶音頻

MS9292MS9332是一款HD/DVI轉VGA轉換器HD環出帶音頻的視頻轉換方案。支持HD/DVI輸入&#xff0c;VGA輸出和HD環出&#xff0c;HD/DVI輸入最高支持1920120060Hz&#xff0c;VGA輸出最高支持1920120060Hz&#xff0c;HD環出最高支持4K30Hz。該方案已實現量產&#xff0c;并提供完善…

C++初階-list的模擬實現(難度較高)

1.list&#xff08;容器&#xff0c;不是類&#xff09;模擬實現基本結構 這個實現是和源碼的實現不同的&#xff0c;不要進行強制類型轉換了&#xff0c;很麻煩。我們把定義放在.h文件中&#xff0c;在.cpp中放測試代碼。 注&#xff1a;這個基本結構之后會改變&#xff0c;…

【ROS】Nav2源碼之nav2_behavior_tree-行為樹節點列表

1、行為樹節點分類 在 Nav2(Navigation2)的行為樹框架中,行為樹節點插件按照功能分為 Action(動作節點)、Condition(條件節點)、Control(控制節點) 和 Decorator(裝飾節點) 四類。 1.1 動作節點 Action 執行具體的機器人操作或任務,直接與硬件、傳感器或外部系統…

【iOS】cell的復用以及自定義cell

【iOS】cell的復用以及自定義cell 文章目錄 【iOS】cell的復用以及自定義cell前言cell的復用手動&#xff08;非注冊&#xff09;自動&#xff08;注冊&#xff09; 自定義cell 前言 cell的復用及自定義cell是UITableView或UICollectionView的一個重要優化機制,當用戶滾動視圖…

深度學習之模型壓縮三駕馬車:基于ResNet18的模型剪枝實戰(2)

前言 《深度學習之模型壓縮三駕馬車&#xff1a;基于ResNet18的模型剪枝實戰&#xff08;1&#xff09;》里面我只是提到了對conv1層進行剪枝&#xff0c;只是為了驗證這個剪枝的整個過程&#xff0c;但是后面也有提到&#xff1a;僅裁剪 conv1層的影響極大&#xff0c;原因如…

傳輸層協議:UDP

目錄 1、概念 2、報文結構 3、核心特性 3.1 無連接 3.2 不可靠交付 3.3 面向數據報 3.4 輕量級&高效 3.5 支持廣播和組播 4、典型應用場景 5、優缺點分析 6、與TCP的區別 1、概念 UDP&#xff08;User Datagram Protocol&#xff0c;用戶數據報協議&#xff09…

JVM虛擬機:內存結構、垃圾回收、性能優化

1、JVM虛擬機的簡介 Java 虛擬機(Java Virtual Machine 簡稱:JVM)是運行所有 Java 程序的抽象計算機,是 Java 語言的運行環境,實現了 Java 程序的跨平臺特性。JVM 屏蔽了與具體操作系統平臺相關的信息,使得 Java 程序只需生成在 JVM 上運行的目標代碼(字節碼),就可以…

c++ 面試題(1)-----深度優先搜索(DFS)實現

操作系統&#xff1a;ubuntu22.04 IDE:Visual Studio Code 編程語言&#xff1a;C11 題目描述 地上有一個 m 行 n 列的方格&#xff0c;從坐標 [0,0] 起始。一個機器人可以從某一格移動到上下左右四個格子&#xff0c;但不能進入行坐標和列坐標的數位之和大于 k 的格子。 例…

【匯編逆向系列】七、函數調用包含多個參數之浮點型- XMM0-3寄存器

目錄 1. 匯編代碼 1.1 debug編譯 1.2 release編譯 2. 匯編分析 2.1 浮點參數傳遞規則 2.2 棧幀rsp的變化時序 2.3 參數的訪問邏輯 2.4 返回值XMM0寄存器 3. 匯編轉化 3.1 Debug編譯 3.2 Release 編譯 3.3 C語言轉化 1. 匯編代碼 上一節介紹了整型的函數傳參&#x…

華為云Flexus+DeepSeek征文 | 從零到一:用Flexus云服務打造低延遲聯網搜索Agent

作者簡介 我是摘星&#xff0c;一名專注于云計算和AI技術的開發者。本次通過華為云MaaS平臺體驗DeepSeek系列模型&#xff0c;將實際使用經驗分享給大家&#xff0c;希望能幫助開發者快速掌握華為云AI服務的核心能力。 目錄 作者簡介 前言 1. 項目背景與技術選型 1.1 項目…

【多智能體】受木偶戲啟發實現多智能體協作編排

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一個正在變禿、變強的文藝傾年。 &#x1f514;本專欄《人工智能》旨在記錄最新的科研前沿&#xff0c;包括大模型、具身智能、智能體等相關領域&#xff0c;期待與你一同探索、學習、進步&#xff0c;一起卷起來叭&#xff…

Java八股文——Spring篇

文章目錄 Java八股文專欄其它文章Java八股文——Spring篇SpringSpring的IoC和AOPSpring IoC實現機制Spring AOP實現機制 動態代理JDK ProxyCGLIBByteBuddy Spring框架中的單例Bean是線程安全的嗎&#xff1f;什么是AOP&#xff0c;你們項目中有沒有使用到AOPSpring中的事務是如…

NineData數據庫DevOps功能全面支持百度智能云向量數據庫 VectorDB,助力企業 AI 應用高效落地

NineData 的數據庫 DevOps 解決方案已完成對百度智能云向量數據庫 VectorDB 的全鏈路適配&#xff0c;成為國內首批提供 VectorDB 原生操作能力的服務商。此次合作聚焦 AI 開發核心場景&#xff0c;通過標準化 SQL 工作臺與細粒度權限管控兩大能力&#xff0c;助力企業安全高效…

開源技術驅動下的上市公司財務主數據管理實踐

開源技術驅動下的上市公司財務主數據管理實踐 —— 以人造板制造業為例 引言&#xff1a;財務主數據的戰略價值與行業挑戰 在資本市場監管日益嚴格與企業數字化轉型的雙重驅動下&#xff0c;財務主數據已成為上市公司財務治理的核心基礎設施。對于人造板制造業而言&#xff0…

借助它,普轉也能獲得空轉信息?

在生命科學研究領域&#xff0c;轉錄組技術是探索基因表達奧秘的有力工具&#xff0c;在疾病機制探索、生物發育進程解析等諸多方面取得了顯著進展。然而&#xff0c;隨著研究的深入&#xff0c;研究人員發現普通轉錄組只能提供整體樣本中的基因表達水平信息&#xff0c;卻無法…

synchronized 學習

學習源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.應用場景 不超賣&#xff0c;也要考慮性能問題&#xff08;場景&#xff09; 2.常見面試問題&#xff1a; sync出…