日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

洛谷 U10783 名字被和谐了

發布時間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷 U10783 名字被和谐了 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

https://www.luogu.org/problem/show?pid=U10783

題目背景

眾所周知,我們稱g是a的約數,當且僅當g是正數且a mod g = 0。

眾所周知,若g既是a的約數也是b的約數,我們稱g是a、b的一個公約數。

眾所周知,a、b最大的那個公約數就叫最大公約數。

題目描述

現在對于給定的兩個正整數a、b,你需要求出它們次大的公約數(second greatest common divisor)。

輸入輸出格式

輸入格式:

?

第一行兩個正整數數a、b。

?

輸出格式:

?

第一行一個數,表示a、b的次大公約數。若a、b的公約數只有一個,則輸出-1。

?

輸入輸出樣例

輸入樣例#1:
2 3 輸出樣例#1:
-1

說明

測試點1..4:a、b≤10^5

測試點1..10:1≤a、b≤10^9

?

次大公約數=最大公約數/最小公因子

#include<cstdio> #include<algorithm> using namespace std; int gcd(int a,int b) { return !b ? a:gcd(b,a%b); } int main() {int a,b;scanf("%d%d",&a,&b);int g=gcd(a,b);if(g==1) { printf("-1"); return 0; }int t=min(a,b),p=0;for(int i=2;i*i<=t;i++)if(a%i==0 && b%i==0) { p=i; break; }if(!p) p=t;a/=p; b/=p;printf("%d",gcd(a,b)); }

?

轉載于:https://www.cnblogs.com/TheRoadToTheGold/p/7341589.html

總結

以上是生活随笔為你收集整理的洛谷 U10783 名字被和谐了的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。