C语言 已知A<B,且A,B为正整数,求满足条件A×B=716699且A+B最小值的B值

 我来答
cenxizwdez
2014-04-30 · 超过27用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:52.9万
展开全部

#include <stdio.h>


#define THE_VALUE 716699.0    


int main(void)

{

    double a;

    unsigned int b;


    double result;

    double temp;


    temp = 0xffffffff;


    for (a = 1.0; a < THE_VALUE / 2; a+= 1.0)

    {

        b = (unsigned int)(THE_VALUE / a);

        if (a * b == THE_VALUE)

        {

            if ((a + b) < temp)

            {

                temp = a + b;

                result = a;

            }


            printf("a = %f,b = %d;\n", a, b);

        }

    }


    printf("a + b 最小时 B的值:%f\n", result);


    return 0;

}



最终结果显示:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luvnn
2014-04-30 · TA获得超过160个赞
知道小有建树答主
回答量:159
采纳率:100%
帮助的人:103万
展开全部
int min=999999;
B=1;
for(int i=0;i<=716699;i++)
{
for(j=i+1;j<=716699;j++)

{
if(i*j==716699)

{
if(min>i+j)

{
min = i+j;

B=j;

}
}

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Babydog
2014-04-30 · 超过37用户采纳过TA的回答
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:98万
展开全部
这个用程序可以计算出来啊,很简单的,告诉我你的邮箱,我可以帮你解决的,亲,这样可以帮到你吗?int a,b;for(a=1;a<716699/a;a++)printf("a=%d,b=%d";a,716699/a);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式