Visual_Basic 板


LINE

※ 引述《gofin (雲色)》之銘言: : → tomas0011:如果 分子除分母為整數也就是整除!分母則為分子的因數 11/25 22:57 : → tomas0011:問題就來了!要如何把分母(大數)分割 成較小的因數 11/25 22:58 : → tomas0011:而每次除分母因數時判斷分子是否變為小數 即為不整除^^? 11/25 22:59 : → tomas0011:可是若途中遇到了超過可以用 "除法直接除的(分母)質數" 11/25 23:01 : → tomas0011:題目又會產生bug囉 !! 好難ˊˋˊˋˊˋˊˋ 11/25 23:01 : 續之前t^(a-b)找出可能的值 : 再把這些值丟進(t^a)-1/(t^b)-1 : 分別算出分子跟分母的數字(這裡可能需要大數相乘) : 如果說有個函數是可以分解一個數字的因式 : EX:輸入25會輸出5^2 或輸入75會輸出5^2*3^1 : 這樣就把分子跟分母切開送進去..... : 然後先比較 : if 分子的底數是否包含全部分母的底數 : if 這些相同底數的分子指數都大於分母指數 : 如果有的話(應該就會整除) 就算一算輸出答案 : (怎算就是 假設a,b都是分子跟分母都有的底數,c^e,d^f是分子多的 : =a^(分子指數減分母指數)*b^(分子指數減分母指數)*c^e*d^f : P.S到這其實只是一串底數跟指數的組合,如果需要輸出確切的數字就用大數 : 相乘算出來吧,,,,但是我倒覺得算到這邊應該就差不多了! : else : 分子指數減分母指數會等於負的 : =沒辦法整除 : end if : else : =沒辦法整除 : end if : 參考看看 用這個方法可能會牽扯到大數的因數分解 如果分解出來的那個數值又是大數(也就是無法在分割的質數) 又會碰上了相乘的問題 我想到了一個解法 (t^a-1)/(t^b-1)=答案 如果用交差相乘 則 (t^a-1)=(t^b-1)*答案 可能會變成單純的大數相乘 至於範圍 假設(t^a-1)長度為10 (t^b-1)長度為5 以最壞最壞的打算 假設 t^a-1=1000000000 t^b-1=10000 那迴圈的範圍就會落在長度6 長度7之間 也就是 100000-1000000 也許可能有bug 或是個增加一個範圍 長度5到8之間 至於判斷答案*(t^b-1) 是否為(t^a-1) 則可以用 t=split(t^b-1*答案,t^a-1) 若 ubound(t)=1 而且 t(0) and t(1) =empty 那答案為正解 若 迴圈跑完 還找不到答案 則為小數點 嗯!!可能效率還是很差 謝謝你讓我想到一個或許可行的解法~ ------------分割限----------------- 來了 就我所說的發展一個可行的 用相乘and相減 找個位數 這三個重點 破解一組答案 先新增一個空白s="" (這是一組小算盤可以計算的數字) 假設 t^a-1=304696744428557889118768=a t^b-1=4654954984844849=b 兩個相除的結果=65456432=c 至於怎麼推到答案 a/b = c = 65456432 首先 看尾數 b的尾數=9 9*多少=a的尾數8 對乘2=18 把a-b整項*2 304696744428557889118768 - 4654954984844849*2 ------------------------- 304696735118647919429070 因為已經求到一位 2 所以把 0消掉(消掉一位) 304696735118647919429070/10 此時 a =30469673511864791942907 s= 2 & s 繼續 b的尾數=9 9*多少=a的尾數7 對乘3=27 把a-b整項*3 30469673511864791942907 - 4654954984844849*3 ------------------------ 30469659546999837408360 求到一位 3 所以把 0 消掉 a又變成了 3046965954699983740836 此時 s= 3 & s s 內容 = 32 以此類推 最後結果可以推到65456432 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.37.170
1F:→ tomas0011:還是很慢 只能判斷 個位數相乘的時候是不是最右邊的 11/26 13:06
2F:→ tomas0011:是 (t^a-1) 最右邊 那位數 盡可能跳過不需要的位數0.0 11/26 13:06
3F:推 gofin:因為沒有實際下去寫!所以不是很明確知道會錯在哪... 11/26 13:53
4F:→ gofin:但是!我覺得因式分解應該是可以減少很多演算的步驟 11/26 13:54
5F:→ gofin:至於大數因數分解可以去做一個質數陣列來處理 11/26 13:58
6F:→ gofin:質數陣列 列出小於 2147483647即可(這質數表應該網路查的到) 11/26 14:00
7F:→ tomas0011:剛上完英文課 腦袋一直想 我又想到方法了... 修改文章XD 11/26 15:25
※ 編輯: tomas0011 來自: 140.130.37.170 (11/26 15:47) ※ 編輯: tomas0011 來自: 140.130.37.170 (11/26 15:53)
8F:推 gofin:但是這樣的前提是要能整除... 11/26 16:41
9F:→ tomas0011:恩 這題 是要顯示能整除 且100位以內 11/26 16:46
10F:→ tomas0011:要顯示小數的話  我不知道要怎麼破解了ˊˋ|| 11/26 16:47
11F:→ tomas0011:其實好像也可以 這個方法可以求到餘數 11/26 16:57
12F:→ tomas0011:求到餘數之後 本來判斷尾數 改成判斷首數(以不超過 11/26 16:58
13F:→ tomas0011:或者相等的成積) 11/26 16:58
14F:→ tomas0011:來求小數 11/26 16:59
15F:推 gofin:喔我的意思是說上面的範例是因為剛好可以整除所以好解.. 11/27 00:21
16F:→ tomas0011:對了我這題有PO在Prob_solve版 有人有解法"輾轉相除法" 11/27 00:28
17F:推 gofin:嗯!好方法!我的是程式寫法!但是一樣都是求最大因數的 11/27 10:13
18F:→ gofin:我那兩層if就是最大因數!! 用gcd的function也可以~ 11/27 10:15
19F:→ gofin:好久沒算數學都忘記還有gcd!!呵...PTT果然強者很多.... 11/27 10:16







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP