李敏 |
|
|||
日歷
統(tǒng)計(jì)
導(dǎo)航常用鏈接留言簿(1)文章分類
文章檔案
相冊收藏夾它山之石聚賢莊搜索最新評論
|
找出1~100之間的有12個(gè)公約數(shù)的整數(shù)。
例:6 1、2、3、6 6的公約數(shù)為4。 分析: 1 首先此整數(shù)一定為偶數(shù),因?yàn)?00以內(nèi)的任意一個(gè)奇數(shù)的公約數(shù)不可能達(dá)到12個(gè)這么多。 2 經(jīng)過幾個(gè)偶數(shù)的公約數(shù)的分析,可以得出倒數(shù)第二個(gè)公約數(shù)是該數(shù)的1/2。也就是說(整數(shù)/2>=11,即整數(shù)>=22)。 3 因?yàn)橛?2個(gè)公約數(shù):第一,該數(shù)一定能被6整除(同樣根據(jù)幾個(gè)偶數(shù)的公約數(shù)分析得到,整數(shù)一定可以整除【公約數(shù)/2】);第二,既然達(dá)到了12個(gè)公約數(shù),所以肯定超過了10,既然可以被6整除,那余數(shù)自然>=10。 4 因?yàn)橛?2個(gè)公約數(shù),所以1~12范圍內(nèi)就最少包括了12/2個(gè)公約數(shù)(就是一半的公約數(shù)),然而真正能夠被整除的實(shí)際的公約數(shù)只有10個(gè)(除去1和它本身),則10以內(nèi)的公約數(shù)必須達(dá)到5個(gè)。 5 如果10以內(nèi)的公約數(shù)達(dá)到了5個(gè),則從11~(整數(shù)/2)繼續(xù)查找,當(dāng)找到第10個(gè)公約數(shù)時(shí)停止,然后繼續(xù)判定下一個(gè)整數(shù)。 1~2 整數(shù)取值范圍。 3 整數(shù)的過濾條件。 4~5 約數(shù)的過濾條件。 int num=0; for(int i=4;i<17;i++){ int k=i*6; for(int j=10;j>=2;j--){ if(k%j==0){ num++; if(j==5&&num<2){ num=-1; break; } } } if(num>=5){ for(int j=11;j<=k/2&&num!=10;j++){ if(k%j==0) num++; } } if(num==10){ System.out.println(k); } num=0; }
|
![]() |
|
Copyright © 李敏 | Powered by: 博客園 模板提供:滬江博客 |