藍橋杯訓練day1

2021-10-02 04:25:37 字數 1639 閱讀 4758

快速冪

題目描述

給定a, b, p,求(a^b) mod p。

輸入輸入共一行。

第一行有三個數,n, m, p。

輸出輸出共一行,表示所求。

共10組資料

對100%的資料,a, b為long long範圍內的非負整數,p為int內的非負整數。

樣例輸入

2 5 3
樣例輸出

2
1)初始的時候可以令res = 1

2)判斷b的二進位制位數是否是1,使用b & 1 == 1來進行判斷,b & 1進行位與操作這樣比 b % 2 == 1來判斷的執行速度會更快

3)令a平方,並且b後移1位相當於是b /= 2

4)只要是b大於0那麼就回到2

#includetypedef long long ll;

int p;

ll binarypow(ll a, ll b)

return res;

} int main()

十進位制轉十六進製制

題目描述

十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推,十進位制的30在十六進製制中是1e。

給出乙個非負整數,將它表示成十六進製制的形式。

輸入輸入包含乙個非負整數a,表示要轉換的數。0<=a<=2147483647

輸出輸出這個整數的16進製表示

樣例輸入

30
樣例輸出

1e
c語言中,標準輸出格式裡%x表示轉成十六進製制輸出,更加方便快捷。

#includeint main()

最長公共子串行

題目描述

給定兩個字串,尋找這兩個字串之間的最長公共子串行。

輸入輸入兩行,分別包含乙個字串,僅含有小寫字母。

輸出最長公共子串行的長度。

樣例輸入

abcdgh

aedfhb

樣例輸出

3

求最長公共子串行,用動態規劃,只需建立乙個長寬為兩個字串長度+1的二維陣列~dp[i][j]表示string a的前i個字元構成的字串和string b的前j個字元構成的字串這兩者得到的最長公共子串行的長度為dp[i][j],所以第0行和第0列所有的數都為0。最後乙個格仔的長度就是兩個字串的最長公共子串行的長度。

#include using namespace std;

int dp[1001][1001];

int main()

}cout << dp[a.length()][b.length()] << endl;

return 0;

}

藍橋杯 數字統計 day1

題目 題目描述 請統計某個給定範圍 l,r 的所有整數中,數字 2 出現的次數。比如給定範圍 2,22 數字 2 在數 2 現了 1 次,在數 12 現 1 次,在數 20 現 1 次,在數 21 現 1 次,在數 22 現 2 次,所以數字 2 在該範圍內一共出現了 6 次。輸入描述 輸入共 1 ...

藍橋杯刷題 Day1

1.2020省賽 單詞分析 暴力 輸入一行包含乙個單詞,單詞只由小寫英文本母組成。對於所有的評測用例,輸入的單詞長度不超過 1000。輸出兩行,第一行包含乙個英文本母,表示單詞 現得最多的字母是哪 個。如果有多個字母出現的次數相等,輸出字典序最小的那個。第二行包含乙個整數,表示出現得最多的那個字母在...

國慶DAY1訓練

j 模擬 題意 移動數字 記錄一下每個數字的位置 然後如果和0的距離為1 則交換 include using namespace std struct node p 1020000 pos intcal int x,int y int a 1020000 intmain while m for in...