https://loj.ac/problem/10155 题目描述 一个数的约数和(不包括它本身)如果比这个数小,那么这个数可以转移到这个数的约数和,这个约数和也可以变为这个数,所有操作在$n$的范围内进行,求最多不经过重复步数的操作。 思路 我们考虑如果$x$可以变成$y$,那么我们在$x$和$y ...
分类:
其他好文 时间:
2019-11-11 21:35:25
阅读次数:
133
题目描述 Hanks 博士是 BT(Bio Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson。现在,刚刚放学回家的 Hankson 正在思考一个有趣的问题。 今天在课堂上,老师讲解了如何求两个正整数 c1 c2 的最大公约数和最小公倍数。现在 Hankson 认为自己已经熟练地掌握 ...
分类:
其他好文 时间:
2019-11-11 20:03:36
阅读次数:
71
一、求两个数的最大公约数的欧几里得算法的算法说明和网上链接 1.算法说明 欧几里德算法是用来求两个正整数最大公约数的算法。是由古希腊数学家欧几里德在其著作《The Elements》中最早描述了这种算法,所以被命名为欧几里德算法。 以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公 ...
分类:
其他好文 时间:
2019-11-11 00:32:06
阅读次数:
169
输入一个小于1的正小数,分别输出最简分数的分子和分母。 此代码的目的是简单快速的求出有限位小数对应的最简真分数。 C语言代码如下: # include <stdio.h> # include <string.h> // 判断两个整数的最大公约数是否为1 int is_prime(int a, int ...
分类:
其他好文 时间:
2019-11-09 18:00:17
阅读次数:
128
欧几里得算法说明 两个数的最大公约数是指能同时整除它们的最大正整数。 设两数为a、b(a≥b),求a和b最大公约数(a,b)的步骤如下: (1)用a除以b(a≥b),得 a/b = p...r1 (r1 =0); (2)若r1 = 0,则(a,b) = r1;若r1 != 0,则再用b除以r1,得b ...
分类:
编程语言 时间:
2019-11-09 15:49:02
阅读次数:
88
摘自《算法竞赛进阶指南》。 线段树是一种基于分治思想的二叉树结构,用于在区间上进行信息统计。 线段树的基本特征:1.线段树的每个节点都代表一个区间。2.线段树具有唯一的根节点,代表的区间是整个统计范围,如[1,N]。3.线段树的每个叶节点都代表一个长度为1的元区间[x,x]。4.对于每个内部节点[l ...
分类:
其他好文 时间:
2019-11-08 20:41:50
阅读次数:
107
// 求最大的公约数//第一种方法:枚举法//从1开始每一个数校验是否为公约数,//并不断地更新到最大的数(只需要比较到两个数较小的数) #include <stdio.h>int main (){ int a,b; scanf("%d %d",&a,&b); int min,ret; if(a<b ...
分类:
其他好文 时间:
2019-11-08 12:44:18
阅读次数:
127
T1 div 给定$m$个不同的正整数$a_1$,$a_2$,$\cdots$请对$1$到$n$每一个$k$计算,在区间$[1,n]$里有多少正整数是$[a_1,a_m]$中恰好$k$个数的约数。 暴力拆解就可以了。 ...
分类:
其他好文 时间:
2019-11-08 12:11:18
阅读次数:
81
约数之和 Problem d(k)表示k的所有约数的和。d(6) = 1 + 2 + 3 + 6 = 12。 定义S(N) = ∑1(意会一下这个式子,大概和之前的除数函数相类似,枚举质因子分析的感觉)(我不懂怎么来的) 这样的话 $$ \begin{align} S(n) &= \sum\limi ...
分类:
其他好文 时间:
2019-11-05 00:52:18
阅读次数:
69
最大公约数的欧几里得算法 a,b最大公约数(Greatest Common Divisor),就等于b,a%b的最大公约数,公式如下 gcd(a,b)=gcd(b,a%b) gcd(a,b) = gcd(b,a \% b) gcd(a,b)=gcd(b,a%b) 摘自 "欧几里得算法(求解最大公约数 ...
分类:
编程语言 时间:
2019-11-04 22:05:48
阅读次数:
384