線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:934
推到 Plurk!
推到 Facebook!

奇幻數字

尚未結案
shning
一般會員


發表:7
回覆:0
積分:1
註冊:2004-04-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-11 22:05:21 IP:210.66.xxx.xxx 未訂閱
請問怎麼寫一個程式,顯示一個九位數,其前面一位數能被一整除,前面二位數能被二整除,...以此類推,前面九位數能被九整除。把所有滿足此情形的數字列出,還有分二種情形,一種是 0 ~ 9 (數字不重複),一種是 1 ~ 9 (數字不重複)。 例如: 0 8 1 6 5 4 3 2 7 1. 0 / 1 == 0 2. 08 / 2 == 0 3. 081 / 3 == 0 4. 0816 / 4 == 0 5. 08165 / 5 == 0 6. 081654 / 6 == 0 7. 0816543 / 7 == 0 8. 08165432 / 8 == 0 9. 081654327 / 9 == 0
chilanlin
一般會員


發表:3
回覆:10
積分:2
註冊:2004-01-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-12 06:48:03 IP:61.228.xxx.xxx 未訂閱
假設最後一位數是x,y為除數 會有兩種狀況出現 (1).在未將x加入之前的(total)數不能被y整除 x=10-y*z , z >= 1 and y*z <=10 (2).已經可以被y整除 x=y*z ,z >=0 and y*z <=10 x就是你每次加入的數字!! p.s.其實每一次加一個位數就等於*10倍,只要由這方面去想 很容易知道數學式怎麼推! 發表人 - chilanlin 於 2004/05/12 07:41:12
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-12 07:13:21 IP:211.76.xxx.xxx 未訂閱
int a,b,c,d,e,f,g,h,i;
AnsiString night;
int temp_b,temp_c,temp_d,temp_e,temp_f,temp_g,temp_h,temp_i;
for(a=0;a<=9;a  )
{
   for(temp_b=0;temp_b<=9;temp_b  )
   {
      if((IntToStr(a) IntToStr(temp_b)).ToInt()%2==0)
      {
         b=temp_b;
         for(temp_c=0;temp_c<=9;temp_c  )
         {
            if((IntToStr(a) IntToStr(b) IntToStr(temp_c)).ToInt()%3==0)
            {
               c=temp_c;
               for(temp_d=0;temp_d<=9;temp_d  )
               {
                  if((IntToStr(a) IntToStr(b) IntToStr(c) IntToStr(temp_d)).ToInt()%4==0)
                  {
                     d=temp_d;
                     for(temp_e=0;temp_e<=9;temp_e  )
                     {
                        if((IntToStr(a) IntToStr(b) IntToStr(c) IntToStr(d) IntToStr(temp_e)).ToInt()%5==0)
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-12 07:16:15 IP:211.76.xxx.xxx 未訂閱
                        {
                           e=temp_e;
                           for(temp_f=0;temp_f<=9;temp_f  )
                           {
                              if((IntToStr(a) IntToStr(b) IntToStr(c) IntToStr(d) IntToStr(temp_e) IntToStr(temp_f)).ToInt()%6==0)
                              {
                                 f=temp_f;
                                 for(temp_g=0;temp_g<=9;temp_g  )
                                 {
                                    if((IntToStr(a) IntToStr(b) IntToStr(c) IntToStr(d) IntToStr(temp_e) IntToStr(temp_f) IntToStr(temp_g)).ToInt()%7==0)
                                    {
                                       g=temp_g;
                                       for(temp_h=0;temp_h<=9;temp_h  )
                                       {
                                          if((IntToStr(a) IntToStr(b) IntToStr(c) IntToStr(d) IntToStr(temp_e) IntToStr(temp_f) IntToStr(temp_g) IntToStr(temp_h)).ToInt()%8==0)
                                          {
                                             h=temp_h;
                                             for(temp_i=0;temp_i<=9;temp_i  )
                                             {
                                                if((IntToStr(a) IntToStr(b) IntToStr(c) IntToStr(d) IntToStr(temp_e) IntToStr(temp_f) IntToStr(temp_g) IntToStr(temp_h) IntToStr(temp_i)).ToInt()%9==0)
                                                {
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-12 07:17:29 IP:211.76.xxx.xxx 未訂閱
                                                   i=temp_i;
                                                   TStringList *pList = new TStringList();
                                                   pList->Add(a);pList->Add(b);pList->Add(c);
                                                   pList->Add(d);pList->Add(e);pList->Add(f);
                                                   pList->Add(g);pList->Add(h);pList->Add(i);
                                                   pList->Sorted=true;
                                                   AnsiString nine_temp;
                                                   nine_temp=pList->Strings[0] pList->Strings[1] pList->Strings[2] pList->Strings[3] 
                                                             pList->Strings[4] pList->Strings[5] pList->Strings[6] pList->Strings[7] 
                                                             pList->Strings[8];
                                                   if(nine_temp=="123456789" || nine_temp=="023456789" || nine_temp=="013456789" ||
                                                      nine_temp=="012456789" || nine_temp=="012356789" || nine_temp=="012346789" ||
                                                      nine_temp=="012345789" || nine_temp=="012345689" || nine_temp=="012345679" ||
                                                      nine_temp=="012345678")
                                                   {
                                                      night=IntToStr(a) IntToStr(b) IntToStr(c) IntToStr(d) 
                                                            IntToStr(e) IntToStr(f) IntToStr(g) IntToStr(h) IntToStr(i);
                                                      Memo1->Lines->Add(night);
                                                   }
                                                }
......
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-12 07:21:18 IP:211.76.xxx.xxx 未訂閱
程式求出的答案為(0~9不重複): 081654327 381654720 381654729 783204165 801654723 我是將9位數字拆成9個字串來分別作處理,我認為這樣求出最後答案的速度應該會比較快,程式裡面有些地方可以在改進,但是我只是直接寫出來沒有再做其他的修改,因此看起來可能有點亂...程式應該還可以更加精簡
系統時間:2024-06-26 12:20:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!