用 C++ 找出最接近 ab 的 x 倍数
假设我们有三个整数,a、b 和 x。任务是获取最接近 ab 的 x 倍数。因此,如果 a = 5,b = 4 和 x = 3,则输出将为 624。因为 54 = 625,并且 624 是 3 的倍数,最接近 625。
这个任务很简单。我们必须遵循以下步骤来解决这个问题 −
- 计算 num := ab
- 然后查找 f := num/x 的向下取整
- 现在左侧最接近的元素将是 cl = x * f,右侧将为 cr = x * (f + 1)
- 最后,它们中最近的数字将为 min(num – cl, cr – num)
示例
#include <iostream> #include <cmath> using namespace std; long long getClosest(int a, int b, int x) { long long num = pow(a, b); int f = floor(num / x); long long cl = x * f; long long cr = x * (f + 1); if ((num - cl) < (cr - num)) return cl; else return cr; } int main() { int a = 5, b = 4, x = 3; cout << "Find closest element: " << getClosest(a, b, x); }
输出
Find closest element: 624
广告