fzu Problem 2125 簡單的等式

2021-06-23 06:17:34 字數 1274 閱讀 3183

accept: 114    submit: 492

time limit: 1000 msec    memory limit : 32768 kb

problem description

現在有乙個等式如下:x^2+s(x,m)x-n=0。其中s(x,m)表示把x寫成m進製時,每個位數相加的和。現在,在給定n,m的情況下,求出滿足等式的最小的正整數x。如果不存在,請輸出-1。

input

有t組測試資料。以下有t(t<=100)行,每行代表一組測試資料。每個測試資料有n(1<=n<=10^18),m(2<=m<=16)。

output

輸出t行,有1個數字,滿足等式的最小的正整數x。如果不存在,請輸出-1。

sample input

4 10

110 10

15 2

432 13

sample output

-1source

福州大學第十屆程式設計競賽

這個題目還是很經典的,我們不知道

sum(x,m)

是多少,但是我們可以估計一下,我用電腦算了一下,

pow(2,57)

已經是10的18

次方了,所以

k可以開大點

,最大不超過

100,我們用

x=(-

b+sqrt(b*

b-4*a*c))/2*a,

就可以了。

把sum(x,m)

當成乙個已知的量來對待。即

x*x+i*x-n=0;

先求出x

,然後判斷

x*x+s(x,m)*x-n=0;

#include#includelong long s(long long n,long long m)

return sum;

}int main()

}if(flag==0)

printf("-1\n");

else

printf("%i64d\n",x);

}return 0;

}#include#includelong long f(long long n,long long m)

return sum;

}int main()

i--;

}if(flag==0)

printf("-1\n");

else

printf("%i64d\n",x);

}return 0;

}

FZU 2125 簡單的等式

現在有乙個等式如下 x 2 s x,m x n 0。其中s x,m 表示把x寫成m進製時,每個位數相加的和。現在,在給定n,m的情況下,求出滿足等式的最小的正整數x。如果不存在,請輸出 1。有t組測試資料。以下有t t 100 行,每行代表一組測試資料。每個測試資料有n 1 n 10 18 m 2 ...

Git與GitLab的分支合併等簡單的測試操作

git與gitlab一起使用的一些學習筆記 如何在linux下進行gitlab的安裝與配置,這裡不再描述,網路上有很多的資源可以參考!gitlab 和github一樣,配置了ssh就不需要再使用賬號和密碼,合併分支的時候或者自動同步的時候都比較方便 配置好ssh後 這一步,網路上也有很多的教材可以參...

畢設寫的簡單spider類 正則等內容

class spider 處理url,以符合標準 function dealurl url else if strrpos url,strlen url 1 return url 取乙個鏈結下的所有鏈結 function geturl url else echo regs 1 line regs 2...