【发布时间】:2012-09-27 23:10:50
【问题描述】:
我想明智地扫描大间隔的数字,直到找到我需要的数字。 但是,我不知道这个数字可能在哪里,在搜索过程中我也不会有任何线索。
让我举个例子,以便于陈述我的问题
假设我正在搜索一个介于 100000000000000 和 999999999999999 之间的数字
幼稚的方法将从 100000000000000 开始,然后逐个计数到 99...。 但这是不明智的,因为如果我不走运,号码可能在远端。
那么,解决这个问题的最佳方法是什么。我不是在寻找数学上最好的,我需要一种在 C 编程语言中易于实现的技术。
提前致谢。
【问题讨论】:
-
你怎么知道你是否找到了你需要的那个?您是在搜索范围内的所有数字,还是仅搜索一些?如果只是一些,它们是否已排序?
-
我正在寻找可能为数不多的数字之一。我有一个通过 brutforce 方法解决 PCP 问题的测试器功能,这就是它们无法排序的原因。
标签: c performance algorithm search counting