NYOJ 458 解題報告

2021-07-03 18:15:13 字數 869 閱讀 1351

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度: 1

描述 最近topcoder的xd遇到了乙個難題,倘若乙個數的三次方的後三位是111,他把這樣的數稱為小光棍數。他已經知道了第乙個小光棍數是471,471的三次方是104487111,現在他想知道第m(m<=10000000000)個小光棍數是多少?

輸入有多組測試資料。第一行乙個整數n,表示有n組測試資料。接下來的每行有乙個整數m。

輸出輸出第m個小光棍數。

樣例輸入

1

1

樣例輸出

471

這道題真的和程式設計沒關係,完全是一道數學題嗎!同餘方程an*x^n+a(n-1)*x^(n-1)+…+a1*x+a0≡0(mod m)的解一定是x≡x0(mod m)的形式。依葫蘆畫瓢,這裡方程為x^3≡111(mod 1000),題目友情提示x模m的最小正剩餘是471,所以通解一定是x≡471(mod 1000)的形式,因此x0=471,x1=1471,x2=2471,x3=3471,…,xm=(m-1)471(這裡表示前面的數字是m-1,後三位為471)。so easy吧!就是要注意要用long long,因為m<=10000000000(10個0)超了int的量。

#include int main()

return 0;

}

附上標程:

#includeint main()

return 0;

}

標程裡是用(b-1)*1000+471的形式,其實根本不需要什麼計算。其實也沒什麼啦~~~



NYOJ 458 小光棍數

描述 最近topcoder的xd遇到了乙個難題,倘若乙個數的三次方的後三位是111,他把這樣的數稱為小光棍數。他已經知道了第乙個小光棍數是471,471的三次方是104487111,現在他想知道第m m 10000000000 個小光棍數是多少?輸入有多組測試資料。第一行乙個整數n,表示有n組測試資...

nyoj 458 小光棍數

時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 最近topcoder的xd遇到了乙個難題,倘若乙個數的三次方的後三位是111,他把這樣的數稱為小光棍數。他已經知道了第乙個小光棍數是471,471的三次方是104487111,現在他想知道第m m 10000000000 個小光...

nyoj 458 小光棍數

時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述 最近topcoder的xd遇到了乙個難題,倘若乙個數的三次方的後三位是111,他把這樣的數稱為小光棍數。他已經知道了第乙個小光棍數是471,471的三次方是104487111,現在他想知道第m m 10000000000 個小光...