两个数的最大公约数:不能大于两个数中的最小值,算法口诀:小的给大的,余数给小的,整除返回小的,即最大公约数,(res=max%min)==0? max=min,min=res return min; 两个数的最小公倍数:等于两数之和除以两个数的最大公约数 a*b/(LCM(a,b)); #include <iostream> using namespace std; /*求最大公约数,辗转相除法来求最小公倍数*/ int getLCM(int a, int b) { int max = (a
//在两个数成对出现的数组中找到一个单独的数.比如{1,2,3.3,1,4.2},即找出4 #include <stdio.h> int find(int arr[], int len) { int i = 0; int ret = 0; for (i = 0; i < len; i++) { ret = ret^arr[i]; } return ret; } int main() { int arr1[] = { 1, 2, 2, 3, 1, 5, 3 }; int arr2[] =
公式法:两个数相乘等于最小公倍数乘以最大公约数 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int gcd2(int a, int b) { int mod = a%b; ) { a = b; b = mod; mod = a%b; } return b; } int main() { int a, b; int cd; scanf("%d", &a); s