题目来源:http://community.topcoder.com/tc?module=ProblemDetail&rd=12170&pm=8161
代码如下:
#include <climits>
#include <cmath>
/************** Program Begin *********************/
int Alist[10000];
class MinDifference {
public:
int closestElements(int A0, int X, int Y, int M, int n) {
Alist[0] = A0;
for (int i = 1; i < n; i++) {
Alist[i] = (Alist[i-1] * X + Y) % M;
}
int mind = INT_MAX;
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if ( abs(Alist[i] - Alist[j]) < mind ) {
mind = abs(Alist[i] - Alist[j]);
}
}
}
return mind;
}
};
/************** Program End ************************/
本文介绍了一个来自TopCoder平台的算法题目,主要内容为通过给定的数学公式生成一系列整数,并找出这些整数中任意两个之间的最小差值。代码采用C++实现,利用双重循环遍历所有可能的整数对来寻找最小差值。
1072

被折叠的 条评论
为什么被折叠?



