欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a...
分类:
编程语言 时间:
2015-09-22 21:51:03
阅读次数:
307
#include int main(){ using namespace std;int m, n;cin >> n >> m; while (m != n) { while (m>n) { m = m - n; } while (n>m) { n ...
分类:
其他好文 时间:
2015-09-20 16:13:18
阅读次数:
117
import java.util.Scanner;//求两个数的最大公约数,最小共倍数。public class CommonMaxDivisor { public static void main(String[] args){ Scanner scanner=new ...
分类:
其他好文 时间:
2015-09-19 22:40:48
阅读次数:
228
题目描述 求a、b的最小公倍数。 题目分析 求a、b的最小公倍数,即求最小正整数c,使满足c%a=0且c%b=0。 代码实现 最大公约数(GCD) a*b/gcd(a, b)
分类:
其他好文 时间:
2015-09-17 19:16:34
阅读次数:
150
题目描述 求整数a、b的最大公约数。 题目分析 所谓求整数a、b的最大公约数,就是求同时满足a%c=0、b%c=0的最大正整数c,即求能够同时整除a和b的最大正整数c。 暴力枚举 若a、b均不为0,则依次遍历不大于a(或b)的所有正整数,依次试验它是否同时满足两式,并在所有满足两式的正整数中挑选最大...
分类:
其他好文 时间:
2015-09-17 18:59:07
阅读次数:
191
#!/bin/bash
#定义最大公约数和最小公约数
GCD_RESULT=""
LCM_RESULT=""
#定义一个相加的函数
functionsum(){
result=$((num1+num2))
echo-e"\033[31m两个数之和为$result\033[0m"
}
#定义一个求最大公约数函数
functiondivisor(){
if["$num1"-eq"$num2"];
then
s_great=$nu..
分类:
系统相关 时间:
2015-09-17 15:20:23
阅读次数:
219
扩展欧几里德算法基本算法:对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 x,y ,使得 gcd(a,b)=ax+by。证明:设 a>b。 1,显然当 b=0,gcd(a,b)=...
分类:
编程语言 时间:
2015-09-15 00:09:47
阅读次数:
222
欧几里德算法欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b....
分类:
其他好文 时间:
2015-09-12 21:35:54
阅读次数:
183
1、求最大公约数(GCD)int gcd(int x,int y){ if (!y) return x; return gcd(b,a%b);}
分类:
其他好文 时间:
2015-09-12 17:33:38
阅读次数:
113
这里是枚举每一个最大公约数p,那么最后求的是f(n) = sigma(p*phi(n/p)) phi()为欧拉函数这里可以试着算一下,然后会发现这个是积性函数的那么只要考虑每一类质数分开算,最后乘在一起就行了而对于f(p^k) p为素数的求解可以这样考虑对于前一个f(p^(k-1)) , 那么f(....
分类:
其他好文 时间:
2015-09-10 20:54:53
阅读次数:
273