题目描述 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。 输入格式 输入一个正整数S。 输入一个正整数S。 输出格式 输出最大的约数之和。 输出最大的约数之和。 输入输出样例 输入 #1复制 ...
分类:
其他好文 时间:
2019-10-20 20:16:14
阅读次数:
95
原题来自 GDOI2007谁是天才 ,但找不到链接了 描述 这天周航遇到了靳泽旭。 周航:“我是天才!” 靳泽旭:“你为什么是天才?” 周航:“你随便告诉我一个数字,我立即可以算出它所有约数之和,以及所有约数的倒数和!” 靳泽旭:“换过来,我告诉你一个数的所有约数(包括1和该数本身)的和以及约数的倒 ...
分类:
其他好文 时间:
2019-10-18 17:24:54
阅读次数:
122
求最大公约数和最小公倍数 求最大公约数和最小公倍数 题目内容: 编写程序,在主函数中输入两个正整数 a,b,调用两个函数 fun1() 和 fun2(),分别求 a 和 b 的最大公约数和最小公倍数,在主函数中输出结果。 输入格式: 两个正整数 输出格式: 最大公约数和最小公倍数 输入样例: 12, ...
分类:
编程语言 时间:
2019-10-07 13:10:18
阅读次数:
132
埃拉托斯特尼筛求欧拉函数 代码: 线性筛欧拉函数: 线性筛约数和: void init() 线性筛约数个数和 num[] 存最小质因子出现次数 d[]存约数个数和 线性筛 莫比乌斯函数 代码: ...
分类:
其他好文 时间:
2019-09-26 09:46:25
阅读次数:
89
最大公约数 通常来说,我们使用『辗转相除法』能够快速高效地求出两个数的「最大公约数」,其实就是欧几里得算法,公式如下: 代码如下,很简单: 最小公倍数 定理 :a、b 两个数的最小公倍数乘以它们的最大公约数等于 a 和 b 本身的乘积 由上述定理可知,在最大公约数的基础上我们可以轻易得到「最小公倍数 ...
分类:
其他好文 时间:
2019-09-25 00:57:40
阅读次数:
114
https://nanti.jisuanke.com/t/41391 这个题目没有很难想,比较暴力,但是要会算复杂度,不会算复杂度,就会觉得自己的算法会超时,实际上不会。 这个题目就是直接暴力求出每一个数的在1e5以内的所有的约数和倍数,然后更新,就像之前写过的E - No Pain No Game ...
分类:
编程语言 时间:
2019-09-15 10:43:47
阅读次数:
127
T1 考试打表两小时,终于找出了正解的规律,结果zz低错,直接挂掉70分。。。。。。 其实说实话打表找规律很好用,最开始我是发现对于一个质数$x$,$x^k$的约数和就是$x$的约数和+$\sum\limits_{i=2}^{k}{x^i}$,当然我考试的时候zz,这实际上就是$\sum\limit ...
分类:
其他好文 时间:
2019-09-08 09:54:34
阅读次数:
95
在写“更相减损法”的完整框架时,有一个细节问题要注意:自定义函数返回的结果,要在主函数中将其结果赋值给一个变量,以便后续代码所用,否则即便调用了该函数,也得不到该函数执行的结果。因为返回的结果是局部变量,不能跨函数使用。要在用完自定义函数的那一刻,及时地将结果赋值给一个变量 前言: 约数和倍数:存在 ...
分类:
其他好文 时间:
2019-09-07 01:01:39
阅读次数:
121
依旧是递归; 求最大公约数, 有一个常用的办法, 叫欧几里得算法(也就是辗转相除法); 欧几里得算法(简称gcd), gcd(a,b)=gcd(b,a mod b); 就是a和b的最大公约数=b和a mod b的最大公约数; 直到a mod b==0的时候, b就是最大公约数。 坚持打卡O(∩_∩) ...
分类:
其他好文 时间:
2019-09-05 00:49:23
阅读次数:
76
//分别使用while/do-while/for循环实现10的阶乘(使用递归算法) //do-while循环实现10的阶乘 var i=1; var resule=1; do{ resule *= i; i++; }while(i0;i--){ if(a%i == 0 && b%i == 0){ c ...
分类:
编程语言 时间:
2019-08-26 21:28:00
阅读次数:
153