Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
108939 彭士宝 美丽数 C++ Time Limit Exceeded 1000 MS 272 KB 725 2025-01-23 17:12:54

Tests(0/1):


Code:

#include <iostream> using namespace std; // 计算小于等于x的美丽数的个数 int countBeautifulNumbers(int x) { return x / 3 + x / 5 - x / 15; } int main() { int N; while (cin >> N) { int left = 1, right = 1e9; // 设定二分查找的范围 while (left < right) { int mid = left + (right - left) / 2; if (countBeautifulNumbers(mid) < N) { left = mid + 1; // 当前mid的美丽数不足N个,需要增大范围 } else { right = mid; // 当前mid的美丽数足够或过多,尝试缩小范围 } } cout << left << endl; // 输出第N个美丽数 } return 0; }