我需要一个最佳算法来找到数字 N 的最大除数。最好是用 C++ 或 C# 语言

2023-11-27

我目前正在使用以下代码,但对于大量数据来说它非常慢



        static int divisor(int number)
        {
            int i;
            for (i = number / 2; i >= 1; i--)
            {
                if (number % i == 0)
                {
                    break;
                }
            }
            return i;
        }

首先想到你能找到最小的除数d(当然不等于1),那么N/d将是你要找的最大除数。

例如,如果 N 可以被 3 整除,那么您将需要 2 次迭代才能找到答案 - 在您的情况下,大约需要 N/6 次迭代。

Edit:为了进一步改进你的算法,你可以只迭代奇数(在检查你的数字是否为偶数之后),或者更好的是,如果你有预先计算的素数列表,那么你只能迭代它们,因为最小除数显然是质数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我需要一个最佳算法来找到数字 N 的最大除数。最好是用 C++ 或 C# 语言 的相关文章

  • CLR 2.0 与 4.0 性能比较?

    如果在 CLR 4 0 下运行 为 CLR 2 0 编译的 NET 程序会运行得更快吗 应用程序配置
  • 使用 C# 登录《我的世界》

    我正在尝试为自己和一些朋友创建一个简单的自定义 Minecraft 启动器 我不需要启动 Minecraft 的代码 只需要登录的实际代码行 例如 据我所知 您过去可以使用 string netResponse httpGET https
  • 如何在多线程C++ 17程序中交换两个指针?

    我有两个指针 pA 和 pB 它们指向两个大的哈希映射对象 当pB指向的哈希图完全更新后 我想交换pB和pA 在C 17中 如何快速且线程安全地交换它们 原子 我是 c 17 的新手 2个指针的原子无等待交换可以通过以下方式实现 inclu
  • 以编程方式读取 SQL Server 查询计划建议的 SQL 特定执行的索引?

    如果我在 SSMS 中运行此命令 set showplan xml on GO exec some procedure arg1 arg2 arg3 GO set showplan xml off GO 我获得查询执行中涉及的完整调用堆栈的
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • 如何使用 Castle Windsor 将对象注入到 WCF IErrorHandler 实现中?

    我正在使用 WCF 开发一组服务 该应用程序正在使用 Castle Windsor 进行依赖注入 我添加了一个IErrorHandler通过属性添加到服务的实现 到目前为止一切正常 这IErrorHandler对象 一个名为FaultHan
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • 使用可变参数包类型扩展的 C++ 函数调用者包装器

    我绑定了一些 API 并且绑定了一些函数签名 如下所示 static bool WrapperFunction JSContext cx unsigned argc JS Value vp 我尝试将对象和函数包装在 SpiderMonkey
  • unordered_map 中字符串的 C++ 哈希函数

    看起来 C 标准库中没有字符串的哈希函数 这是真的 在任何 c 编译器上使用字符串作为 unordered map 中的键的工作示例是什么 C STL提供模板专业化 http en cppreference com w cpp string
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 为什么这个二维指针表示法有效,而另一个则无效[重复]

    这个问题在这里已经有答案了 这里我编写了一段代码来打印 3x3 矩阵的对角线值之和 这里我必须将矩阵传递给函数 矩阵被传递给指针数组 代码可以工作 但问题是我必须编写参数的方式如下 int mat 3 以下导致程序崩溃 int mat 3
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • C++ new * char 不为空

    我有一个问题 我在 ASIO 中开发服务器 数据包采用尖头字符 当我创建新字符时 例如char buffer new char 128 我必须手动将其清理为空 By for int i 0 i lt 128 i buffer i 0x00
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 使用 omp_set_num_threads() 将线程数设置为 2,但 omp_get_num_threads() 返回 1

    我有以下使用 OpenMP 的 C C 代码 int nProcessors omp get max threads if argv 4 NULL printf argv 4 s n argv 4 nProcessors atoi argv

随机推荐

  • *ngIf 和 [hidden] 有什么区别?

    假设我对照 和 表达式进行检查 那么这两个不是相同的吗 div val div div val div 它们之间实际上存在性能差异 ngIf如果表达式为 false 将注释掉数据 这样 数据甚至不会加载 从而导致 HTML 加载速度更快 h
  • Spark:如何在数据帧上执行 dropDuplicates,同时保留最高时间戳行[重复]

    这个问题在这里已经有答案了 我有一个用例 我需要删除数据帧的重复行 在这种情况下 重复意味着它们具有相同的 id 字段 同时保留具有最高 时间戳 unix 时间戳 字段的行 我找到了 drop duplicate 方法 我正在使用 pysp
  • 将数据框列名称从字符串格式更改为日期时间

    我有一个数据框 其中列的名称是字符串形式的日期 年月 如何将这些名称转换为日期时间格式 我尝试这样做 new cols pd to datetime df columns df df new cols 但我收到错误 KeyError Dat
  • 根据 MSVC++ 中的 unicode 设置自动在 std::string 和 std::wstring 之间更改?

    我正在编写一个 DLL 希望能够在 MSVC 2010 中的 unicode 和多字节设置之间切换 例如 我使用 T string and LPCTSTR and WIN32 FIND DATA而不是 W 和 A 版本等 现在我想要 std
  • 捕获异步操作的异常

    我在这里阅读有关异步的更多信息 http msdn microsoft com en us library hh873173 v vs 110 aspx 看看这个例子 Task
  • 非凸多边形内最大的圆

    如何找到可以容纳在凹多边形内的最大圆 只要能够实时处理具有约 50 个顶点的多边形 暴力算法就可以 解决这个问题的关键是首先进行观察 适合任意多边形的最大圆的中心是以下点 多边形内部 和 距多边形边缘上任意点最远 为什么 因为圆的边缘上的每
  • F# 中的第一个或默认值

    如何在 F 中编写 FirstOrDefault Linq 查询 我可以在 F 中完全使用 linq to sql 吗 请注意 F 中更惯用的方法可能是使用类似于Seq tryFind而不是使用 LINQ 运算符 尽管它不是替代品 因为它返
  • mongodb 转储多个集合或排除集合版本 2.6

    如何转储多个集合或排除 mongodump 上的集合 mongodb是2 6版本 我现在就是这样做的 mongodump collection map accounts clicks out dumps 您可以使用 排除集合从 MongoD
  • 如何在Python中使用点表示法表示字典?

    我对 python 很陌生 我希望我能做到 访问 a 值的表示法dict 可以说我有test像这样 gt gt gt test dict gt gt gt test name value gt gt gt print test name v
  • 如何使用 faces-redirect 进入 JSF 2.2 流程

    我有一个基本的流程示例 src main webapp index xhtml flow1 flow1 flow xml flow1 xhtml index xhtml 有一个简单的形式 使用参数进入流程
  • 如何修复“客户端身份验证方案‘匿名’禁止 HTTP 请求”

    我在实现与 WCF 服务通信的客户端时遇到一些问题 它是由另一家公司托管的 WCF 因此我无权访问其代码 我使用 Visual Studio 中的连接服务提供程序工具生成客户端代码 以便我可以发出请求 并且一切都在我的本地计算机上正常运行
  • 为什么 npm 将本地包安装在我的主目录中?

    Node js 新手 Windows 10 我npm install ed 一些软件包 没有 g 而在没有的目录中package json npm 将包放入C Users MyName node modules 现在我看到一些奇怪的行为 当
  • 在类中使用 es6 箭头函数[重复]

    这个问题在这里已经有答案了 当我改变一个函数时draw to draw gt 我收到类似 Uncaught SyntaxError Unexpected token 的错误 可能是什么原因 首先 你可能不应该这样做 为什么 嗯 因为箭头函数
  • 将源代码管理中的更改提交到多个分支的实用方法

    使用源代码控制时的常见场景是拥有开发分支和版本化发布分支 我们使用 CVS 以 HEAD 作为开发分支 并命名一个分支 例如 release 6 2 表示产品的当前版本 新功能的开发仅进入开发分支 但错误修复有时必须同时检查到开发分支和当前
  • 有没有办法重定向到另一个 Action 类而不使用 struts.xml

    我在 Struts 应用程序中创建了许多类 我没有检查任何课程是否登录状态 相反 我扩展了一个基本动作类 现在我想在我的基本操作中创建一个预处理程序来检查登录情况并在未登录时进行重定向 我想要这样的东西 public BaseAction
  • 何时调用layoutSubviews方法?

    我正在经历教程其中提到了以下方法 void layoutSubviews 位于CustomerCell m 在应用程序执行期间何时调用此方法 是自动调用的吗 我没有看到任何回调 你会找到你的答案here 编辑 直接从博客复制 init 不会
  • “请求的快照版本太旧。” Firestore 中的错误

    在使用 Firebase 的 Swift 客户端时 从 2 月 9 日开始 我开始看到错误消息 请求的快照版本太旧 在addSnapshotListener的回调中 这个错误是什么意思 我该如何修复它 Thanks None
  • Passport JS“发送后无法设置标头”

    当我使用passport JS成功登录时出现此错误 登录后尝试重定向到主页 执行此操作的代码 app post login passport authenticate local failureRedirect login function
  • 如何限制JTextArea最大行数和列数?

    我在 JScrollPane 中使用 JTextArea 我想限制可能的最大行数和每行的最大字符数 我需要该字符串与屏幕上的完全相同 每行将以 n 结尾 如果后面还有另一行 并且用户将能够在每行中仅插入 X 行和 Y 字符 我试图限制行数
  • 我需要一个最佳算法来找到数字 N 的最大除数。最好是用 C++ 或 C# 语言

    我目前正在使用以下代码 但对于大量数据来说它非常慢 static int divisor int number int i for i number 2 i gt 1 i if number i 0 break return i 首先想到你