1. 程式人生 > >Gold point

Gold point

html sum git 個數字 ram log www. 同學 現象

此篇博客引用了網上的代碼,代碼地址:http://www.cnblogs.com/zw2013040101034/p/5370302.html.

 Github地址:https://github.com/Divel-Qin/C-Program/tree/master/Goldpoint/Goldpoint

黃金點遊戲是一個數字小遊戲,其遊戲規則是:

N個同學(N通常大於10),每人寫一個0-100之間的有理數 (不包括0或100),交給裁判,裁判算出所有數字的平均值,然後乘以0.618(所謂黃金分割常數),得到G值。提交的數字最靠近G(取絕對值)的同學得到N分,離G最遠的同學得到-2分,其他同學得0分。玩了幾天以後,大家發現了一些很有意思的現象,比如黃金點在逐漸地往下移動。

  該程序用C++寫,主要功能是算出G點,代碼如下:

  ave = sum / num;
  G = ave*0.618;

  然後就是比較哪個數離G點最近:

for (j = 1; j <= M; j++)
{
S1[j] = abs(S[j] - G);
}
max = min = S1[1];
for (j = 1; j <= M; j++)
{
if (S1[j] >= max)
max = S1[j];
else if (S1[j] < min)
min = S1[j];
}
for (j = 1; j <= M; j++)
{
if (S1[j] == max)
S2[j] = -2;
else if (S1[j] == min)
S2[j] = M;
else S2[j] = 0;

}
for (j = 1; j <= M; j++)
{

  

Gold point