「叮鈴鈴鈴」,隨著高考最後一科結考鈴聲的敲響,三年青春時光頓時凝固於此刻。畢業的欣喜怎敵那離別的不捨,憧憬著未來仍毋忘逝去的歌。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個人參與畢業晚會彩排。可是如何挑呢?老師列...