这周是考试周,两门考试水过,大部分时间都用到了学习数论知识方面,经过这一周的学习,对数论的基本知识有了一点了解,这里做一点总结。
知识点:
素数,判断一个数是否为素数,一个范围内的素数表(两种方法),一个区间内的素数(还没仔细看),java中判断大数是否为素数。
求一个数的欧拉函数,一个范围内的欧拉函数。
同余方程,利用扩展欧几里得,最小正数解。
同余方程组,中国余数定理的互质情况与非互质情况。
求a^bmod(c),b,c较小直接求,c较小利用循环节,b,c都很大利用公式a^x mod(c)=a^(x%phi(c)+phi(c)) mod(c) (x>=phi(c))。
原根的定义。
n!因子个数
分解素因子
因子个数
存在疑问的知识点:
找循环节,若循环节的开始点不是第一个元素,那么怎么办?
baby step giant step 扩展,以及hash表的实现,或map的使用方法。
本周心情:明天要上课了,本来今天是准备做些循环节的题,但是做到一半出现了一点疑问,很多循环节大家都默认是从第一个元素开始的,但如果不是这样的话怎么做呢,我到现在没找到一个自己能接受的答案,就先放一放吧,有空了再想想或再上网查查。做循环节的题没做成,心情很糟糕,但是还有一个下午的时间不能浪费,于是看了看baby step giant step,准备刷道水题,发现自己不会用hash表!!!,后来想用map凑活一下把水题a了,又发现自己map也是稀里糊涂,呃...一个下午没了,两个知识点都搞了一点却一个都没搞好,这种感觉真糟糕,今天再做题我可能也提不起精神了,晚上还是去上个自习复习一下课本吧,回来后看看能不能把hash表和map搞明白...