P1372 又是畢業季I C 數論

2021-10-02 16:15:42 字數 826 閱讀 8997

「叮鈴鈴鈴」,隨著高考最後一科結考鈴聲的敲響,三年青春時光頓時凝固於此刻。畢業的欣喜怎敵那離別的不捨,憧憬著未來仍毋忘逝去的歌。1000多個日夜的歡笑和淚水,全凝聚在畢業晚會上,相信,這一定是一生最難忘的時刻!

為了把畢業晚會辦得更好,老師想要挑出默契程度最大的k個人參與畢業晚會彩排。可是如何挑呢?老師列出全班同學的號數1,2,……,n,並且相信k個人的默契程度便是他們的最大公約數(這不是迷信哦~)。這可難為了他,請你幫幫忙吧!

ps:乙個數的最大公約數即本身。

兩個空格分開的正整數n和k。(n>=k>=1)

乙個整數,為最大的默契值。

輸入 #1

4 2輸出 #1

【題目**】

lzn原創

【資料範圍】

對於20%的資料,k<=2,n<=1000

對於另30%的資料,k<=10,n<=100

對於100%的資料,k<=1e9,n<=1e9(神犇學校,人數眾多)

此題簡化後,求的是:從1~n中取k個數,使這k個數的最大公約數最大

因為兩個數成倍數關係時,它們的最大公因數是兩數中的較小數,也就是相對來說最大公因數較大

返回題目,這k個數其實就是:x1,x2…xk,及x的1~k倍,但必須保證xk小於n,在上述條件下,能知道,符合條件的最大的x就是答案,為了找出最大的x,必須使x*k盡量接近n,因為c++的整數除法有自動取整的功能,所以所有情況下,n/k都是最終答案

#include

using

namespace std;

intmain()

P1372 又是畢業季

叮鈴鈴鈴 隨著高考最後一科結考鈴聲的敲響,三年青春時光頓時凝固於此刻。畢業的欣喜怎敵那離別的不捨,憧憬著未來仍毋忘逝去的歌。1000多個日夜的歡笑和淚水,全凝聚在畢業晚會上,相信,這一定是一生最難忘的時刻!為了把畢業晚會辦得更好,老師想要挑出默契程度最大的k個人參與畢業晚會彩排。可是如何挑呢?老師列...

P1372 又是畢業季I

叮鈴鈴鈴 隨著高考最後一科結考鈴聲的敲響,三年青春時光頓時凝固於此刻。畢業的欣喜怎敵那離別的不捨,憧憬著未來仍毋忘逝去的歌。1000多個日夜的歡笑和淚水,全凝聚在畢業晚會上,相信,這一定是一生最難忘的時刻!為了把畢業晚會辦得更好,老師想要挑出默契程度最大的k個人參與畢業晚會彩排。可是如何挑呢?老師列...

P1372 又是畢業季I

叮鈴鈴鈴 隨著高考最後一科結考鈴聲的敲響,三年青春時光頓時凝固於此刻。畢業的欣喜怎敵那離別的不捨,憧憬著未來仍毋忘逝去的歌。1000多個日夜的歡笑和淚水,全凝聚在畢業晚會上,相信,這一定是一生最難忘的時刻!為了把畢業晚會辦得更好,老師想要挑出默契程度最大的k個人參與畢業晚會彩排。可是如何挑呢?老師列...