当前位置: 代码迷 >> 综合 >> 常用自定义函数的实现总结,不断更新
  详细解决方案

常用自定义函数的实现总结,不断更新

热度:108   发布时间:2023-10-09 19:42:22.0

1.最大公约数-GCD

int GCD(int a,int b){if(a%b==0){return b;	}else{return gcd(b,a%b);	}
}

int Gcd(int a, int b){return b==0 ? a : Gcd(b,a%b);
}



2.最小公倍数-LCM

int GCD(int num1,int num2){if(num1%num2==0){return num2;}else{return  GCD(num2,num1%num2);}
}
int LCM(int a,int b){int temp_lcm;temp_lcm=a/GCD(a,b)*b;//最小公倍数等于两数之积除以最大公约数return temp_lcm;
}

3.组合数 - C

概念:从m个不同元素中,任取n(n≤m)个元素并成一组,叫做从m个不同元素中取出n个元素的一个组合;从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数。

公    式 c(m,n)=m!/((m-n)!*n!)

性质1 C(n,m)= C(n,n-m)

性质2 C(n,m)=  C(n-1,m-1)+C(n-1,m)


这里利用性质2进行递归

int C(int m,int n){if(n==0) return 1;                                if(m==n) return 1;if(n==1) return m;else return C(m-1,n-1)+C(m-1,n);
}