《題單》 4題解

2022-06-16 12:00:12 字數 2329 閱讀 1522

給你乙個正整數n,判斷n能否被3、5、8、11中的乙個或多個數整除。(n<1e50)

由於正整數過大,因此n用字串進行儲存,只要判斷(n%3,5,8,11)是否等於0,也就是課上講的大數取模,利用大數取模來進行判斷即可。

乙個數字abc%k

可以拆解為(((a*10)+b)*10+c)%k,根據乘法取模的性質,將取模運算子分配即可得到結果。

上板子

ll bigintmod(string a, ll mod)

return sum;

}

給你乙個二進位制數字,輸出它在十進位制下對1000000007取模的結果。

用字串存這個數字,對於數字1010,可以分解為 ((((1*2)+0)*2+1)*2+0),同上題的大數取模思想,讀者請觸類旁通。

輸入三個18進製的數a,b,c,求其乘積

將其轉化成10進製進行乘法運算,再將其轉換為18進製輸出即可。

// 把m進製的a轉為10進製

ll convert_10(ll m, string a)

return sum;

}// 把十進位制的num轉成m進製

void convert_m(ll num, ll m)

for (int i = x - 1; i >= 0; i--)

cout << endl;

}

板子題目

給你乙個二進位制或十六進製制的數字,請你完成他們之間的轉換。

上述規則理解了之後就可以進行**的處理了,首先判斷是2進製還是16進製制,簡單迴圈判斷即可。

二進位制

首先判斷2進製的位數,如果不是4的倍速就在前面新增前導0

while (s.length() % 4 != 0)s = '0' + s;
對每4位進行2進製轉10進製的處理,得到數字t。如果數字t<=9,直接輸出,否則的話輸出char(t-10+'a')。

十六進製制

16進製制轉化成10進製,然後10進製轉化成2進製。16進製制轉10進製:如果對應char<='9',對應的十進位制t=char-'0',反之,t=ch-'a'+10

10進製轉2進製直接套板子,轉化成的二進位制一定要4位,打個比方,比如11,要對其補前導0,變為0011。最後將我們的二進位制依次儲存到我們的ans字串之中,最後要清除ans的前導0即可。

輸出數字在計算機中的儲存形式,每8位用乙個空格隔開,最後換行

位運算題,我們將二進位制裡每一位數儲存到陣列裡,然後倒序輸出即可。

for (int i = 1; i <= 32; i++)

** 對(x&1)的解釋**:乙個數字的末尾如果是1,那麼其數字&1為1,反之數字&1為0,我們不斷對其進行&1運算,然後在右移執行32次,每次存到陣列r裡面,最後倒序輸出即可。

這題的話,用大數字取模運算+慢速乘,唯一要注意的地方是,大數取模之中,(ans*10)這一塊也要慢速乘,因為ans的取值範圍和mod一樣,而mod<=1e18,因此進行*10的操作會炸long long。

慢速乘板子:

ll mul(ll a, ll b,ll mod)

a = (a << 1) % mod;

b >>= 1;

} return ans;

}

計算 a 的 b 次方對 1e9+7 取模以後的結果,(1 <= a,b <= 1e100)

大數字取模+快速冪運算

根據費馬小定理

mod為素數時,\(a^b\%mod=a^\%mod\)

對於a我們也進行大數取模的化簡,最後將結果用快速冪求得即可。

乙個數列,正整數,沒有存在0的數字,現在求這個數列的第x項是多少。

實際上這題是9進製儲存的變式,通常來說我們轉化成其9進製即可。

唯一特別的地方就是,每一位的進製儲存範圍是從傳統9進製的[0,8],變式為[1,9]的 。我們仔細觀察,在我們對10進製的數字迴圈迭代的時候,0是如何出現的?,當我們數字x%9=0的時候,傳統9進製對應的位數就是0,但是本題每一位範圍的是[1,9],因當x%9=0的時候,我們將其化成(x-1)%9+1,就能改變其的取值範圍了

while (x)

else//正常操作

}

LeetCode第4題C語言題解

description there are two sorted arraysnums1andnums2of size m and n respectively.find the median of the two sorted arrays.the overall run time complex...

題解搬運 藍橋杯2023年第4題題解

從我原來的部落格上搬運。原先blog作廢。脫氧核糖核酸即常說的dna,是一類帶有遺傳資訊的生物大分子。它由4種主要的脫氧核苷酸 damp dgmp dcmt和dtmp 通過磷酸二酯鍵連線而成。這4種核苷酸可以分別記為 a g c t。dna攜帶的遺傳資訊可以用形如 aggtcgactcca 的串來表...

網路流24題 4 魔術球問題 題解

題目鏈結 洛谷 p2765 假設有 n 根柱子,現要按下述規則在這 n 根柱子中依次放入編號為 1,2,3,cdots 的球 試設計乙個演算法,計算出在 n 根柱子上最多能放多少個球。例如,在 4 根柱子上最多可放 11 個球。對於給定的 n 計算在 n 根柱子上最多能放多少個球。對於這道題,我很自...