数论算法训练
知識點:
如果a,b均是正整數(shù)且互質(zhì),那么由ax+by,x>=0,y>=0,那么由這兩個數(shù)不能組成的最大的數(shù)是:a*b-a-b
我們可以發(fā)現(xiàn),模9的時候有這樣一個規(guī)律:
對X模Y,其實等于X每一位的數(shù)的和SUM模Y。
記住,這個方法只能模9的時候才可以!!!
取某個數(shù)X最后n位數(shù): X%10n+110^{n+1}10n+1
給你n個數(shù),是某個等差數(shù)列的一部分,問該等差數(shù)列最小有幾項?:((最大數(shù)?最小數(shù))/d)+1((最大數(shù)-最小數(shù))/d)+1((最大數(shù)?最小數(shù))/d)+1,其中d是該等差數(shù)列所有(所有已知數(shù)與最小數(shù)差值)的最大公因數(shù),還要特別考慮如果d = 0的時候,就是n
GCD、LCM模板
素數(shù)-試除法和埃式篩選法模板
求出某些數(shù)的乘積的末尾有多少個零?乘積出現(xiàn)尾零,肯定是5和偶數(shù)相乘得到的,每出現(xiàn)一個10,就應從乘數(shù)中可以提出一個2、一個5。
所以我們把每個數(shù)的都分解成乘積的形式 ,統(tǒng)計出 2和 5的數(shù)量。然后取較小那個。
海倫公式:三條邊的邊長為a、b、c,p=(a+b+c)/2,area=sqrt(p?(p?a)?(p?b)?(p?c))三條邊的邊長為a、b、c,p=(a+b+c)/2,area=sqrt(p*(p-a)*(p-b)*(p-c))三條邊的邊長為a、b、c,p=(a+b+c)/2,area=sqrt(p?(p?a)?(p?b)?(p?c))。
四平方和定理,又稱為拉格朗日定理:每個正整數(shù)都可以表示為至多4個正整數(shù)的平方和。
如果把0包括進去,就正好可以表示為4個數(shù)的平方和。
如果把一個正整數(shù)的每一位都平方后再求和,得到一個新的正整數(shù)。對新產(chǎn)生的正整數(shù)再做同樣的處理。
如此一來,你會發(fā)現(xiàn),不管開始取的是什么數(shù)字,最終如果不是落入1,就是落入同一個循環(huán)圈。 循環(huán)圈中最大的數(shù)字為145。
3階幻方每一行、每一列和每一條對角線的和都是15,其他階次的幻方其每一行、每一列和每一條對角線的和也都是某個常數(shù)
平方數(shù)的末位只可能是:[0, 1, 4, 5, 6, 9] 這6個數(shù)字中的某個。一個2位以上的平方數(shù)的最后兩位有22種可能性
整數(shù)m在k進制下,有多少位? 公式:[log?km]+1[\log_{k}{m}]+1[logk?m]+1
例如:求68在二進制下有幾位?
#include <iostream> #include <cmath> using namespace std;int main() {cout << (int)floor(log2(68)) + 1 << endl;return 0; }題目:
藍橋杯第四屆初賽-買不到的數(shù)目-數(shù)論
藍橋杯2017初賽-外星日歷-數(shù)論
[藍橋杯2019初賽]數(shù)列求值-模擬+數(shù)論
[藍橋杯2019初賽]平方和-模擬+數(shù)論(水題)
[藍橋杯2019初賽]年號字串-數(shù)論+模擬
[藍橋杯2019初賽]等差數(shù)列-數(shù)列
[藍橋杯2019初賽]質(zhì)數(shù)-質(zhì)數(shù)篩or
水題
[藍橋杯2018初賽]乘積尾零-數(shù)論
[藍橋杯2018初賽]第幾個幸運數(shù)-數(shù)論+枚舉
[藍橋杯2018決賽]三角形面積-數(shù)論
[藍橋杯2018初賽]方格計數(shù)-巧妙枚舉,找規(guī),數(shù)論
[藍橋杯2017初賽]紙牌三角形-枚舉permutation+數(shù)論
[藍橋杯2016初賽]四平方和-數(shù)論+枚舉
[藍橋杯2015決賽]五星填數(shù)-枚舉+數(shù)論
[藍橋杯2016初賽]平方怪圈-數(shù)論,模擬
[藍橋杯2017初賽]九宮幻方-數(shù)論+next_permutation枚舉
[藍橋杯2016決賽]平方末尾-數(shù)論,枚舉
[藍橋杯2016決賽]階乘位數(shù)-數(shù)論
2017年第八屆藍橋杯國賽B組試題A-36進制-進制轉(zhuǎn)換
總結
- 上一篇: 苏州工业园区的芯片半导体企业苏州工业园区
- 下一篇: 科普一分钟|不同装系统方法的优缺点&am