Newcoder 143 G.max(數論)
Description
給出兩個正整數c,n,找到一對整數(a,b)滿足1≤a,b≤n且gcd(a,b)=c,對於所有方案求a⋅b的最大值
Input
兩個整數c,n(1≤c,n≤109)
Output
輸出a⋅b的最大值,如果無解則輸出−1
Sample Input
2 4
Sample Output
8
Solution
顯然有a=cp,b=cq,(p,q)=1,p,q≤⌊cn⌋,由於對於任意x>2有(x−1,x)=1,令m=⌊cn⌋
1.若m=1,則a=b=c
2.若m>1,則a=(m−1)c,b=mc
Code
#include<cstdio> using namespace std; typedef long long ll; int n,c; int main() { while(~scanf("%d%d",&c,&n)) { if(c>n)printf("-1\n"); else { int a=c,b=c; n/=c; if(n>1)a*=n,b*=(n-1); printf("%lld\n",1ll*a*b); } } return 0; }
相關推薦
Newcoder 143 G.max(數論)
Description 給出兩個正整數c,nc,nc,n,找到一對整數(a,b)(a,b)(a,b)滿足1≤a,b≤n1\le a,b\le n1≤a,b≤n且gcd(a,b)=cgcd(a,b)=cg
Newcoder 143 H.subseq(BIT)
Description 給出一個長度為nnn的序列a1,...,ana_1,...,a_na1,...,an,定義序列b1,...,bmb_1,...,b_mb1,...,bm是好的當且僅當以下
(第五場)G max 【數論】
inf sat pair output rod itl main 都是 == 題目鏈接:https://www.nowcoder.com/acm/contest/143/G 題目描述 Give two positive integer c, n. You need to
Newcoder 110 A.最大乘積(數論)
Description 這題要你回答 T T T個詢問,給你一個正整數
Newcoder 143 F.take(線段樹)
Description 有nnn個盒子,第iii個盒子有pip_ipi概率有一個大小為did_idi的鑽石,起初有一個大小為000的鑽石,之後以此開啟111~nnn這nnn個盒子,如果開啟盒子後發現
Newcoder 18 F.Course(數論+矩陣快速冪)
Description A r i a
UVA 10042 Smith Numbers(數論)
sizeof ret col 保存 進行 uva nal isp published Smith Numbers Background While skimming his phone directory in 1982, Albert Wilansky, a ma
[luoguP1069] 細胞分裂(數論)
def getc urn ostream lin 優先級 org return 優先 傳送門 分解質因數,不說了 這題坑了我2個多小時 教訓 不熟悉位運算的優先級一定要加括號!!!! #include <cstdio> #include &
UVA571 - Jugs(數論)
osi com con post roc defined ucc sof mic UVA571 - Jugs(數論) 題目鏈接 題目大意:給你A和B的水杯。給你三種操作:fill X:把X杯裏面加滿水。empty X:把X杯中的水清空。pou
LibreOJ #6220. sum(數論)
define onclick const 全部 註意 img long long %d mes 題目大意:在數組中找出一些數,使它們的和能被n整除 這題標簽是數學,那我就標題就寫數論好了... 顯然如果數組中有n的倍數直接取就行。 那假設數組中沒有n的
bzoj1257: [CQOI2007]余數之和sum(數論)
img const ima left class -1 找到 一段 max 非常經典的題目... 要求 則有 實際上 最多只有2*sqrt(k)種取值,非常好證明 因為>=sqrt(k)的數除k下取整得到的數一定<=sq
Linux環境下GNU, GCC, G++編譯器(轉)
c代碼 但是 關系 例如 ann name 語法規則 否則 int 一,GNU GNU是“GNU ‘s Not Unix”的遞歸縮寫, Stallman宣布GNU應當發音為Guh-NOO(革奴)以避免與new這個單詞混淆(註:Gnu在英文中原意為非洲牛羚,發音與new相同)
G. isset($a),unset($a),empty($a)的區別
技術 spa 區別 地址 內存 isset src log image unset($a)語義:使變量$a不再指向任何內存地址,所以變量會被垃圾自動回收機制清除isset($a)和 unset($a) G. isset($a),unset($a),empty($a)的區別
【LightOJ1336】Sigma Function(數論)
【LightOJ1336】Sigma Function(數論) 題面 Vjudge 求和運算是一種有趣的操作,它來源於古希臘字母σ,現在我們來求一個數字的所有因子之和。例如σ(24)=1+2+3+4+6+8+12+24=60.對於小的數字求和是非常的簡單,但是對於大數字求和就比較困難了。現在給你一個n,你需要
UVa 11582 - Colossal Fibonacci Numbers!(數論)
targe ros family tdi 計算 com fibonacci numbers def 鏈接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=
CF 980D Perfect Groups(數論)
數論 for AS AI 子串 次數 我們 main 發現 CF 980D Perfect Groups(數論) 一個數組a的子序列劃分僅當這樣是合法的:每個劃分中的任意兩個數乘積是完全平方數。定義a的權值為a的最小子序列劃分個數。現在給出一個數組b,問權值為i的b的子串
【BZOJ3240】【NOI2013】矩陣遊戲(數論)
char ++i getc getchar() 系列 HP 推導 max long long 【BZOJ3240】【NOI2013】矩陣遊戲(數論) 題面 BZOJ 題解 搞什麽矩陣十進制快速冪加卡常? 直接數學推導不好嗎? 首先觀察如何從每一行的第一個推到最後一個 \(f
【HDOJ5640】King's Cake(數論)
nbsp std namespace cas algo ima iostream turn tdi 題意: 思路: 1 #include<cstdio> 2 #include<cstdlib> 3 #include<iostream
(數論)逆元的線性算法
div 逆元 線性 ++ === class 就是 color pre 證明:/ P=K*I+R (R<I, 1<I<P); K*I+R=0(MOD P)===(兩邊同時,乘以i-1,r-1)===>i-1=-k*r-1 r-1=(p m
[Project Euler 429] Sum of squares of unitary divisors(數論)
blog ont namespace href 題解 str return void rap 題目鏈接:https://projecteuler.net/problem=429 題目: A unitary divisor dd of a number nn is a d