d es
crip
toin
descriptoin
descri
ptoi
n 求多少個1連在一起mod
m=
kmod\ m=k
modm=k
資料範圍:
0 ≤k
10
110\leq k0≤
k1011so
luti
on
solution
soluti
on問題等價於10n
−19≡
k(mo
dm
)\frac9\equiv k(mod\ m)
910n−1
≡k(
modm
) 兩邊乘9【資料沒卡,但其實是不完全成立的,如果資料卡你的話得用 exb
sg
sexbsgs
exbsgs
】,得到10n
−1≡9
k(mo
dm
)10^n-1\equiv 9k(mod\ m)
10n−1≡
9k(m
odm)
移項1 0n
≡9k+
1(mo
dm
)10^n\equiv 9k+1(mod\ m)
10n≡9k
+1(m
odm)
套板子即可
80分雜湊**(不知道哪錯了,就大佬斧正)
accod#include
#include
#include
#define ll long long
using
namespace std;ll m,k;
struct hash
inline
intfind
(ll x)
inline
void
push
(ll x,ll num)
inline
intinit
(ll x)
#undef p
}h;inline ll ksc
(ll a,ll b,ll p)
inline ll ksm
(ll x,ll y,ll p)
inline ll bsgs
(ll a,ll b,ll p)
return-1
;}signed
main()
ecode
code
#include
#include
#include
#include
#define ll long long
using
namespace std;ll m,k;
inline ll ksc
(ll a,ll b,ll p)
else
return a*b%p;
}inline ll ksm
(ll x,ll y,ll p)
inline ll bsgs
(ll a,ll b,ll p)
return-1
;}signed
main()
洛谷 多少個1?(BSGS)
給定整數kk和質數mm,求最小的正整數nn,使得 11 cdots111 1 n個1 equiv k pmod m k modm 說人話 就是 111.1111 mod m k 輸入格式 第一行兩個整數,分別表示kk和mm 輸出格式 乙個整數,表示符合條件最小的nn 輸入樣例 1 複製 9 17輸出...
XTU OJ 迴圈3 有多少個1?
計算機中儲存的整數都是按補碼的型式,乙個32位有符號整數的補碼的定義為 如果x 0,則x的補碼等於x的二進位制表示 如果x 0,那麼x的補碼為2 32 x的二進位制表示。請根據給定的整數,求出它的補碼包含有多少位為1。輸入每行乙個樣例,為乙個整數 可以用int表示 輸出每行輸出乙個對應樣例的結果。s...
1 n中有多少個9
首先我們先來分析一下題目的意思 1 n中有多少個9,什麼意思呢,舉個例子 1 100中有多少個9,大家肯定一下子就會覺得簡單啊,直接對所有數取模10等於9的不就是嘛。仔細分析一下,這麼想對嗎?很明顯不對啊,90 91 92 這些除個位之外其它位上也可能有9,所以正確的是將各位上的9數一下即為正解。那...