1. 组合数
题意:给出n个数, 从中取出m个数,一共有几种不同的组合方法?
例如,从4个数里面拿出2个数,一共有6种不同的方法。
代码实现:
#include<iostream>
#include<cstdio>
#include<stdio.h>
using namespace std;
int form(int a, int b) {
if (a < b)
return 0;
if (b == 0)
return 1;
return form(a - 1, b - 1) + form(a - 1, b);
}
int main() {
int n, m;
while (scanf("%d%d", &n, &m) != EOF) {
int asw = form(n, m);
printf("%d\n", asw);
}
return 0;
}
实现结果:
2. 高效求最小公倍数
题意:给出两个整数,求出它们的最小公倍数,要求高效完成。
代码实现:
#include<iostream>
#include<cstdio>
#include<stdlib.h>
using namespace std;
int main() {
int n, m, asw;
while (scanf("%d%d", &n, &m) != EOF) {
asw = 0;
for (int i = n;; i += n) {
if (i%m == 0) {
asw = i;
break;
}
}
printf("%d\n", asw);
}
return 0;
}
实现结果: