2015-10-19 99 views
1

假設我正在開發一個算法,它需要一個必須介於數字之間的數字,並且對於該值,它必須始終是相同的數字。我把這個計算轉移到了一個新的方法上,因爲我重複使用了它。數字生成器方法的名稱

我的朋友建議我把它稱爲「randomBetween(min,max)」,但我認爲這是不正確的,因爲如果我發送相同的參數,它總是返回相同的值,所以它不是隨機的。

我錯了嗎?

感謝

回答

1

如果你爲相同的參數返回相同的數字,你的函數不是一個隨機數生成器,它只是一個數學函數。

+0

這就是我所說的,謝謝你。 –

0

你可以稱之爲deterministicRandomBetween(min,max),捕捉重複性方面。

但是,這聽起來並不像通用功能。我無法想象需要這個,除了你正在創建的特定算法。所以,給它起一個特定於它在算法中的角色的名字可能更有意義(無論可能如何)。

+0

是的,問題不在於找到名字。我只是想知道我是否正確。謝謝你 –

0

您可以取給定數字的平均值。

function int mean(int x, int y) 
{ 
    return (x+y)/2 
} 
1

技術性尖峯,什麼是完全隨機的?我的意思是,我可以說,明天我要醒來的確切時間毫無疑問是很難計算出來的(現在)基本上是隨機的,至少是我們在信息學中用來指代「隨機」的概念。但是,當我們明天醒來的時候並不是真正的隨意,顯然這是通過我們現在無法預測的某些過程來處理的,我們的鄰居音樂,我們的狗叫,或者只是我們的身體決定這是足夠的(或任何它例如...

有了這種思維方式,我們可以認爲沒有任何隨機確實存在,我們說「隨機」指的是熵水平(不是物理學家使用它的熵,而是密碼學家使用它的熵)這足以無法計算。那麼,這不是真的,至少有可能性不是。我們(人類)認爲只有一種方法可以得到一個涉及量子力學的非常隨機的值,我可以肯定地說,這不是產生您的計算機或我的無論如何使用的「隨機」值的方式。我可能不知道你的朋友,但(也許),如果他說,可能是因爲該算法可能不會返回相同的結果白衣相同的首字母參數,但也許我假設...

因此,在我看來,如果您的算法的熵足以在您需要使用它時很難預測,那麼名稱就沒有問題。

對不起,我的英語不好......