close
問題:有1個18位數A3640548981270644B,它能被99整除。撰寫一程式,計算滿足上述條件的數對(A,B)有多少組?
這個問題不算困難,基本上用雙迴圈自動對(A,B)填上數值,再試看是否能被99整除即可找出答案
但LabVIEW對這麼大數值處理上的問題限制了能使用的方法,用字串組合(A,B)和中間的數值字串後再轉成數值基本上不能用,因為字串轉數值整數最大只能轉出32位元數值,無法處理64位元的數值
那轉成DBL的浮點數呢?轉成浮點數雖然可以處理這麼大的數值,但有數值跑掉的問題,無法算出正確結果
如下圖:
來源是18位數的EXT格式數值,轉成DBL格式之後,個位和十位數跑掉了
這個題目等於是針對8.X以上版本程式出的題目,只要把計算的數值全轉為64位元的I64格式即可解決這個問題
完成的程式
那7.1版本的程式要如何做這一題?首先計算的數值要全部轉成EXT格式數值,但顯示的數值會變成以科學記號顯示的數值,所以在數值的屬性設定上改一下,不用科學記號來顯示,如下圖:
完成的7.1版程式,注意比較餘數是否為0要用程式中的方法,不要直接使用等於0的那個元件
執行的結果
文章標籤
全站熱搜
留言列表