数论随记(一)

本文详细介绍了数论领域的多种核心算法,包括秦九昭算法、差分算法、抽屉原理等,并探讨了扩展欧几里得算法在解决二元一次方程中的应用,以及逆元的两种求解方法。此外,还深入讲解了素因子分解系列问题和素数筛选算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 秦九昭算法:<多项式>

clip_image001

||

\/

clip_image002clip_image003

求n次多项式f(x)的值就转化为求n个一次多项式的值。

HDU 1111

处理 :减ai后,除B,直到0为止

复数的模 |Z|=|a+bi|=sqrt(a*a+b*b) , 除法 (a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d) (分子分母同乘(c-di))

2. 差分 <多项式>

前向差分

函数的前向差分通常简称为函数的差分。对于函数clip_image004,如果在等距节点:

clip_image005

clip_image006

则称clip_image007,函数在每个小区间上的增量clip_image008clip_image004[1]一阶差分。

在微积分学中的有限差分(finite differences),前向差分通常是微分离散的函数中的等效运算。差分方程的解法也与微分方程的解法相似。当clip_image004[2]多项式时,前向差分为Delta算子(称clip_image009为差分算子[2]),一种线性算子。前向差分会将多项式阶数降低 1。

逆向差分

对于函数clip_image010,如果:

clip_image011

则称clip_image012clip_image004[3]的一阶逆向差分。

一阶差分的差分为二阶差分,二阶差分的差分为三阶差分,其余类推。记:

clip_image013clip_image004[4]clip_image014阶差分。] -------[From Wikipedia]

HDU1121

处理:计算xi相邻两项差 得序列x2i,计算x2i相邻两项差 得序列x3i,重复以上过程,直到xni的各项值相等。再回算。

3. 抽屉原理

任何一个自然数都可分解质因数。N!=1*2*3*4*5*6*...*N=2^a*3^b*5^c*7^d......=(2*5)^c*2^(a-c)*3^b*7^d......=10^c*2^(a- c)*3^b*7^d....

在分解质因数时小的质数的幂次一定不小于大的质数的幂次大,所以a>=c。求 N! (1*2*3*4*5*...*N)里有多少个5其实可以转化成:
N!中:是5的倍数的数+是5^2的倍数的数+5^3.....
如50!:
含有10个5的倍数的数:5,15,20,25,30,35,40,45,50 【50/5=10】
含有2个5^2的倍数的数:25,50【50/(5^2)=2】
可见N!中一共有12个5相乘,那么尾0也必有12个

HDU1124

4. i^2%m

n:1~clip_image016 循环结m (5: 1 4 4 1 0 6: 1 4 3 4 1 0 7: 1 4 2 2 4 1 0 21: 1 4 9 16 4 15 7 1 18 16 16 18 1 7 15 4 16 9 4 1 0)

对称:m/2

推广:i^x%m 循环结都是m,若x为偶数,关于m/2对称

HDU1153

处理: 如果 a[1%n] != a[2%n],那么 a[2%n] != a[4%n],那么 a[1%n] == a[4%n];

如果 a[1%n] == a[2%n],那么 a[2%n] == a[4%n],那么 a[1%n] == a[4%n]。

所以 a[1%n] == a[4%n]

同样的方法得到:

a[1%n] == a[9%n],

a[1%n] == a[16%n],

所有下标是 i 平方 mod n 都相等,下标不是 i 平方 mod n 都相等。

5. 扩展欧几里得 <二元一次方程>

clip_image018 例:a=60, b=22;

clip_image020

int x=1,y=0,xx=0,yy=1;                     
int gcd(int a,int b)                        
{                           
    if(b==0)                               
        return a;                           
    int tx,ty;                            
    tx=x,ty=y;                             
    x=xx,y=yy;                           
    xx=tx-(a/b)*xx,yy=ty-(a/b)*yy;                  
    gcd(b,a%b);                           
}                                  
                               


//改良版:ax+by=bx’+(a-a/b)y’
int gcd(int a,int b)
{
    int t,d;
    if(b==0)
    {    
         x=1,y=0;
         return a;    
    }
     d=gcd(b,a%b);
     t=x, x=y, y=t-(a/b)*y;
     return d;
 }

 

 

 

 

 

 

clip_image022----

 

《数论概论》

 
 clip_image024

 

推论:线性丢番图方程(二元一次方程)ax+by=c有解 clip_image026 gcd(a,b)|c 否则无解;

解为:x=x0+(b/d)*k , y=y0-(a/d)*k (d=gcd(a,b))

6. 逆元

a*xclip_image0281(mod m)

1. 扩展欧几里得解法:

前提:gcd(a,m)=1;

处理:a*xclip_image028[1]1(mod m) clip_image030 a*x+m*y=1; 扩展欧几里得解得x0;

x=x0+k*m/gcd(a,m) clip_image030[1] 逆元结果:x=x0>0?(x0%m):(x0%m+m);

HDU1211

2. 费马小定理解法:

前提:gcd(a,m)=1; m为素数

处理:

clip_image031 clip_image030[2]逆元结果clip_image032

7. 素因子分解系列

n = p1 ^ e1 * p2 ^ e2 *..........*pn ^ en

分解时,素数判断只需到clip_image034

大素数判断和素因子分解(miller-rabin,Pollard_rho算法)

1. 素因子个数

sum ( n)= ( 1 + e1 ) * ( 1 +e2 ) * ...* ( 1 +en );

sum (n * n) = (1+2*e1)*(1+2*e2)*...*(1+2*en)  ;

HDU1299

2. 因子和

Sum=(p1^0+p1^1….p1^e1)*(p2^0+p2^1…p2^e2)……(pn^0+…pn^en);

= clip_image036

因子和 s是积性函数,即 :gcd(a,b)=1==> s(a*b)= s(a)*s(b)

HDU1452 /**/

3.欧拉函数 (小于等于n的,与n互质的数的个数)

clip_image037

clip_image039 (mn)=clip_image041 (n)*clip_image041[1] (m)只在gcd(n,m)=1时成立(积性)

HDU1787

8. 素数筛选

bool prime[N];

void is_prime()

{

memset(prime,0,sizeof(prime));

for(int i=2;i<N;i++)

{

if(!prime[i])

{

for(int j=i+i;j<N;j+=i)

prime[j]=1;

}

}

}

HDU1333

转载于:https://www.cnblogs.com/shentr/p/5280955.html

内容概要:本文针对国内加密货币市场预测研究较少的现状,采用BP神经网络构建了CCi30指数预测模型。研究选取2018年3月1日至2019年3月26日共391天的数据作为样本,通过“试凑法”确定最优隐结点数目,建立三层BP神经网络模型对CCi30指数收盘价进行预测。论文详细介绍了数据预处理、模型构建、训练及评估过程,包括数据归化、特征工程、模型架构设计(如输入层、隐藏层、输出层)、模型编译与训练、模型评估(如RMSE、MAE计算)以及结果可视化。研究表明,该模型在短期内能较准确地预测指数变化趋势。此外,文章还讨论了隐层节点数的优化方法及其对预测性能的影响,并提出了若干改进建议,如引入更多技术指标、优化模型架构、尝试其他时序模型等。 适合人群:对加密货币市场预测感兴趣的研究人员、投资者及具备定编程基础的数据分析师。 使用场景及目标:①为加密货币市场投资者提供种新的预测工具和方法;②帮助研究人员理解BP神经网络在时间序列预测中的应用;③为后续研究提供改进方向,如数据增强、模型优化、特征工程等。 其他说明:尽管该模型在短期内表现出良好的预测性能,但仍存在定局限性,如样本量较小、未考虑外部因素影响等。因此,在实际应用中需谨慎对待模型预测结果,并结合其他分析工具共同决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值