Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 获取算法_C++ - Fatal编程技术网

C++ 获取算法

C++ 获取算法,c++,C++,假设我有一个变量a和b。现在我想找到一个c的值,使得分数a/c是一个正整数,其中c尽可能接近b 例如:a=100和b=30。 在这种情况下,我希望c是25;因为a/c是一个整数,c和b一样接近 有什么想法我可以在C++中编程一个函数,它到底是什么? 找出a的因素。(在web上搜索方法) 扫描结果列表,找出与b的最小差异 这是家庭作业吗?无论哪种方式,都要考虑如何在不编写任何代码的情况下解决这个问题。好的算法来自于好的设计。把问题分解成几个部分,再看一些例子。例如,如何解决确定除法是否产生整数值的

假设我有一个变量a和b。现在我想找到一个c的值,使得分数a/c是一个正整数,其中c尽可能接近b

例如:a=100和b=30。 在这种情况下,我希望c是25;因为a/c是一个整数,c和b一样接近

有什么想法我可以在C++中编程一个函数,它到底是什么?
  • 找出a的因素。(在web上搜索方法)
  • 扫描结果列表,找出与b的最小差异
    这是家庭作业吗?无论哪种方式,都要考虑如何在不编写任何代码的情况下解决这个问题。好的算法来自于好的设计。把问题分解成几个部分,再看一些例子。例如,如何解决确定除法是否产生整数值的问题?提示:您可以使用一个不同的运算符,而不是除法来轻松实现这一点。现在,您将如何解决确定算法中c的起始数字的问题?在找到伪码之前,不要编写任何代码。

    请分享您的想法。有没有人向您介绍过模运算符,
    %
    ?因此,您想要的是最接近于
    b
    的整数,该整数平均除以
    a
    ?这应该是相对简单的几个基本的模块算术恒等式。从
    a%b
    开始,以及
    a%b
    a%(b+n)
    的关系……这更像是一个注释。