Flash 板


LINE

※ 引述《aquarianboy (一路好走..)》之銘言: : gcd公式本身看起來並沒什麼問題 : 我猜,問題是出在random上面 : 你用的方式:random(31) : 這是比較舊式的寫法,查了一下F1的說明: : In Flash Player 4, the methods and properties of the Math class : are emulated using approximations and might not be as accurate : as the non-emulated math functions that Flash Player 5 supports. : 你可以參考一下F1裡的那段範例: : function randRange(min:Number, max:Number):Number { : var randomNum:Number; ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 這個地方用var_name:Number的用意是什麼啊?? 我查了f1沒看到耶.... 而且我覺得flash宣告變數的地方和php比較不一樣的是 php好像可以設定我要幾位整數幾位小數的變數 可是flash我都沒看過有類似這樣的宣告法.... (如果有的話我的程式就不用除以十再乘以十了....) : randomNum = Math.floor(Math.random() * (max - min + 1)) + min; : return randomNum; : } : trace(randRange(1, 31)); : 供你參考 :) 感謝您 我也曾經懷疑過random的準確性 而將程式中random改成Math.floor((Math.random())*31)+1, 其結果相同 會出現同樣的問題 而另外設定您所提供的函數 修改結果如下 *******除此之外還有gcd和randRange的函數******* _root.onEnterFrame=function () { t1=randRange(1,31); t2=randRange(1,31); s1=t1/gcd(t1,t2); s2=t2/gcd(t1,t2); trace("1.原始最簡單整數比前項="+s1); trace("2.原始最簡單整數比後項="+s2); multi=randRange(1,31); q1=s1*multi; q2=s2*multi; q1=q1/10; trace("3.原始小數題目前項="+q1); q2=q2/100; trace("4.原始小數題目後項="+q2); s1=q1*100; trace("5.新的最簡單整數比前項"+s1); s2=q2*100; trace("6.新的最簡單整數比後項"+s2); trace("7.用新的最簡單整數比求出最大公因數="+gcd(s1,s2)); ss1=s1/gcd(s1,s2); trace("8.本題最後的答案前項="+ss1); ss2=s2/gcd(s1,s2); trace("9.本題最後的答案後項="+ss2); trace(""); } ************** 也是會有相同的問題,我將有問題的結果貼進來 1.原始最簡單整數比前項=4 2.原始最簡單整數比後項=3 3.原始小數題目前項=4.4 4.原始小數題目後項=0.33 5.新的最簡單整數比前項440 6.新的最簡單整數比後項33 7.用新的最簡單整數比求出最大公因數=1.70530256582424e-13 8.本題最後的答案前項=2.58018728651435e+15 9.本題最後的答案後項=193514046488576 我個人覺得比較有可能的問題是在先除以10或100之後再乘以10或100 因為如果沒有除以10或100這段的話(乘以10或100留著都無所謂) 就不會出現這樣的問題 但是只要加上這個部份就會出現問題..... 而且我比較有疑問的是 明明trace出來是整數 為什麼在gcd裡面好像就會變成小數呢? 而會這樣想是因為gcd函數如果變成 function gcd(int1,int2) { a=Math.floor(Math.max(int1,int2)); b=Math.floor(Math.min(int1,int2)); while(a%b!=0){ c=a-Math.floor(a/b)*b; a=b; b=c; } return b; } 那麼就比較不會出現1.70530256582424e-13這樣的數字,可是有下列的奇怪結果 1.原始最簡單整數比前項=9 2.原始最簡單整數比後項=5 3.原始小數題目前項=20.7 4.原始小數題目後項=1.15 5.新的最簡單整數比前項2070 6.新的最簡單整數比後項115 7.用新的最簡單整數比求出最大公因數=6 8.本題最後的答案前項=345 9.本題最後的答案後項=19.1666666666667 看看第5、6、7條 2070和115的最大公因數怎麼會是6呢?(所以才會導致第9條無法整除) 由於我讓輸入進去的數字無條件捨去法到整數 所以有可能本來第6條只是114.9999999.............., 然後無條件捨去後變成114 此時2070和114的最大公因數就是6 這是我的猜測啦 所以我的gcd函數是改成 a=Math.round(Math.max(int1,int2)); b=Math.round(Math.max(int1,int2)); 此時就不會有這樣的問題了(有用excel做過檢驗 至少跑幾百次後都不會有問題) 唉....trace列出來是這個樣子 可是跑出來卻不是這個樣子.... 真是令人難以理解.... 另外我很好奇且有疑問的是 我的說明之中 random只有 *************** random 適用版本 Flash Player 4。Flash 5 已不建議使用這個函數而改用 Math.random()。 用法 random(value) 參數 value 是一個整數 傳回值 一個整數 說明 函數;傳回介於 0 和一個小於 value 參數中指定整數的隨機整數。 範例 以下 random() 的使用會傳回值 0、1、2、3 或 4: random(5); 請參閱 Math.random() ***************** Math.random()只有 ***************** Math.random() 適用版本 Flash Player 5。在 Flash Player 4 中, Math 類別的方法和屬性是使用近似值來模擬, 正確性可能不如 Flash Player 5 所支援的-非模擬數學函數。 用法 Math.random() 參數 無 傳回值 一個數字 說明 方法;傳回 n,其中 0 <= n < 1。 請參閱 random ****************** 並沒有您所說的範例耶 還是我漏了哪些東西沒有安裝或是沒看到呢??版本是2004 mx professtional (而更奇怪的是 我記得哪裡有看過類似您所提供的randRange函數 好像是vb還是php的說明文件??) 最後 感謝您的回答.... --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.141.15.61







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燈, 水草

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

TOP