摘要:
https://www.nowcoder.com/acm/contest/82/A 首先这道题是求1~n的最大约数个数的,首先想到使用唯一分解定理,约数个数=(1+e1)*(1+e2)..(1+en),由公式可知取质数时,后面的质数个数应小于等于前面的(也并不是后面的越小越好,只是不应该大于前面的, 阅读全文
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=6188 输入一个n,接下来有n个数,让你求出能组成最多的对子或者顺子的和。 对子: (2,2),顺子: (1,2,3)。 贪心策略:2种方式:1)先取顺子,再取对子:具体操作起来是取顺子需要判断是否能取(即如果取对 阅读全文
摘要:
1 void getprime(int siz){ 2 memset(isprime,1,sizeof(isprime)); 3 isprime[1]=0; 4 for(int i=2;i<=siz;i++){ 5 if(isprime[i])prime[++tot]=i; 6 for(int j= 阅读全文
摘要:
在数论,对正整数n,欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1,φ(8)=4(1,3,5,7)) 通式:φ(n)=n*((1-1/p1)*(1-1/p2)*...(1-1/pk)),其中p1..pk是n的质因子,(如8=2*2*2,φ(8)=8*(1-1/2)= 4) http:// 阅读全文
摘要:
1、存储的实现 (使用结构体数组存储,便于编号从而使平行节点 ( 平行节点是指,起点相同的节点,如1分别与5,6相连,则5和6为平行节点) 被一个next变量联系起来,从而完成所有平行起点的遍历) 2、对平行节点的串联 (使用一个"指针"数组,指针编号为父节点编号,指向最后一个边的结构体编号) 3、 阅读全文
摘要:
任意一个大于1的自然数N,如果N不是质数,那么它都能写成若干个素数相乘的形式,即:n=p1^e1*p2^e2*p3^e3*p4^e4...*pn^en;,而n的所有因子个数和=(1+e1)*(1+e2)*(1+e3)...*(1+en) https://www.nowcoder.com/acm/co 阅读全文
摘要:
https://www.nowcoder.com/acm/contest/51/J 哥德巴赫猜想:1)任意一个大于2的偶数都能分解成两个素数, 2)任意一个大于5的奇数都能分解成三个素数(首先分成3和n-3,其中3为素数,n-3为大于2的偶数然后该偶数还能分成两个素数,所以可以分出三个素数) (而如 阅读全文
摘要:
取模过程只能乘、加、减,而除法取模只能使用逆元进行操作 两个取模的结果进行相减操作时(易知前面的数理论上应该大,但取模之后可能小于后面的数)此时应该加上MOD的倍数,再对相减结果进行取模,从而保证输出为正 阅读全文