李敏  
          日歷
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345
          統計
          • 隨筆 - 1
          • 文章 - 40
          • 評論 - 4
          • 引用 - 0

          導航

          常用鏈接

          留言簿(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;         
               }
          posted on 2009-08-31 15:00 李敏 閱讀(317) 評論(0)  編輯  收藏 所屬分類: 算法
           
          Copyright © 李敏 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 铅山县| 彭阳县| 南康市| 疏勒县| 阿鲁科尔沁旗| 桃园市| 乌什县| 黑龙江省| 东港市| 巴东县| 丰顺县| 安宁市| 黄陵县| 南投县| 北票市| 湘潭县| 禄丰县| 四会市| 巴林左旗| 常熟市| 承德县| 鄯善县| 扶沟县| 辛集市| 礼泉县| 保靖县| 桐城市| 固原市| 汤阴县| 五常市| 富源县| 平泉县| 金寨县| 绥江县| 宽甸| 金华市| 兴国县| 乐安县| 南澳县| 玛多县| 鹿泉市|