時間限制:
1000 ms | 記憶體限制:
65535 kb
難度: 1
描述 最近topcoder的xd遇到了乙個難題,倘若乙個數的三次方的後三位是111,他把這樣的數稱為小光棍數。他已經知道了第乙個小光棍數是471,471的三次方是104487111,現在他想知道第m(m<=10000000000)個小光棍數是多少?
輸入有多組測試資料。第一行乙個整數n,表示有n組測試資料。接下來的每行有乙個整數m。
輸出輸出第m個小光棍數。
樣例輸入
11
樣例輸出
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 個小光...