51nod
Lupinus_Linn
如无特殊说明,本人的文章采用 CC BY-NC 4.0 (非商用,注明出处)协议共享,让我们一起学习,共同成长!
展开
-
51NOD 1008 n的阶乘mod P
背景知识:同余定理 (a+b)%m=(a%m+b%m)%m (ab)%m=(a%mb%m)%m →(aa)%m=(a%m+a%m)%m=(2(a%m))%m ( 知道结论后证明很简单,设 a=km+j后代入即可 未完待续原创 2018-12-28 12:16:53 · 98 阅读 · 0 评论 -
51NOD 1011 最大公约数GCD 1012最小公倍数LCM
GCD=Greatest Common Divisor,最大公约数。 LCM=Least Common Multiple,最小公倍数。 如果之前没有学过算法,最粗暴的方法是从较小的数(不含)向下遍历,遇到的第一个能同时被整除的数就是,不过到1了还没有,那就是1。 如果我们很不幸地遇到了两个质数,或者两个公因子特别小的数,仅遍历的复杂度就已经到了O(n),取余还不算。 如果我们想模拟人类操作,用短除...原创 2019-01-14 19:16:25 · 258 阅读 · 0 评论 -
51NOD 1019 逆序数
当然最简单直接的想法就是一个个数啦,很容易就能写出以下的代码: #include <stdio.h> int inversionOfArray(int a[],int n)//统计整体的逆序数 { int i,sum=0; for(i=0;i<n;i++) sum+=inversionPerElement(a,i); return sum; } int inversi...原创 2019-01-14 19:54:10 · 145 阅读 · 0 评论 -
51NOD 1005 大数加法
51nod这难度过渡也太突兀了……这还是基础题,我真是个弟弟。 题目要求的是能算带符号的加减法,我这个暂时只能算正整数和0的,之后再来写。 参考:大数的四则运算(加法、减法、乘法、除法) #include <stdio.h> #define MAXLENGTH 10000 int exactAdd(char [],char [],char []); int main(int argc,...原创 2019-01-15 16:56:03 · 157 阅读 · 0 评论