李敏 |
|
|||
日歷
統計
導航常用鏈接留言簿(1)文章分類
文章檔案
相冊收藏夾它山之石聚賢莊搜索最新評論
|
找出1~100之間的有12個公約數的整數。
例:6 1、2、3、6 6的公約數為4。 分析: 1 首先此整數一定為偶數,因為100以內的任意一個奇數的公約數不可能達到12個這么多。 2 經過幾個偶數的公約數的分析,可以得出倒數第二個公約數是該數的1/2。也就是說(整數/2>=11,即整數>=22)。 3 因為有12個公約數:第一,該數一定能被6整除(同樣根據幾個偶數的公約數分析得到,整數一定可以整除【公約數/2】);第二,既然達到了12個公約數,所以肯定超過了10,既然可以被6整除,那余數自然>=10。 4 因為有12個公約數,所以1~12范圍內就最少包括了12/2個公約數(就是一半的公約數),然而真正能夠被整除的實際的公約數只有10個(除去1和它本身),則10以內的公約數必須達到5個。 5 如果10以內的公約數達到了5個,則從11~(整數/2)繼續查找,當找到第10個公約數時停止,然后繼續判定下一個整數。 1~2 整數取值范圍。 3 整數的過濾條件。 4~5 約數的過濾條件。 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: 博客園 模板提供:滬江博客 |