| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 837 人关注过本帖
标题:这是一个两个数a,b之积为100,且两个数a,b之和最少,求这两个数?
只看楼主 加入收藏
任我行328
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-10-23
收藏
 问题点数:0 回复次数:4 
这是一个两个数a,b之积为100,且两个数a,b之和最少,求这两个数?
#include "stdio.h"
这是一个两个数a,b之积为100,且两个数a,b之和最少,求这两个数?
int main()
{
    int a,b,i=0,j;
    int s[30];
    //int c[30];  //把这些加上就出错了    for(a=1;a<=100;a++)
        for(b=1;b<=100;b++)
        {
            if(a<=b && a*b==100)
            {
                
                s[i++]=a+b;
                //c[i++]=a;    //把这些加上就出错了                
            }
        }

    int min=s[0];
    for(j=1;j<i;j++)
        if(s[j]<min)
            min=s[j];

    printf("%d\n",min);
    //printf("%d\n",);    //把这些加上就出错了
    return 0;
}
搜索更多相关主题的帖子: 之和 
2008-11-04 22:53
shmilytong
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2008-10-31
收藏
得分:0 
我的思路是,先用枚举法列出所有可能的a,b组合,然后你可以将a,b看成一个矩形的长和宽,题目就转化成了面积相等的矩形怎样才满足周长最小(也可以利用数学思想判定出当矩形为正方形时满足要求,这样可以降低算法的时间复杂度)。题目不难,不过由于不知道你到底是要C语言程序还是C++程序了所以没给出程序来。
2008-11-05 00:55
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:0 
算法可以优化一下,减少循环次数.
for(a=1;a<=50;++a)
{
        for(b=100/a;b<=100;++b)
        {
            if(a*b==100)
            {               
                s[i]=a+b;
                c[i]=a;  
                ++i;
                continue ;
            }else if(a*b>100)
            {
                continue ;
            }
        }
}
2008-11-05 01:29
hitcolder
Rank: 1
等 级:新手上路
威 望:1
帖 子:124
专家分:0
注 册:2008-10-28
收藏
得分:0 
#include<iostream>
using namespace std;
int main()
{
int a,b[10],i=0;
int min=50,d;
for(a=1;a<=10;a++)
{
if(100%a==0)
{b[i]=100/a;
 d=a+b[i];
 i++;
 if(d<min) min=d;
 }
}
cout<<"the number is : "<<b[i-1]<<" and "<<(100/b[i-1])<<"\n";
cout<<"the minimum is : "<<min;
return 0;
}
个人感觉先把满足要求的具体数求出来放到一个数组中比较好,然后根据求得的两个数的和比较大小就可以得到最小值,程序尽量简单最好,这是我编的,也刚学C++不久,互相学习吧
2008-11-05 13:10
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
显然是(10,10)
2008-11-06 11:48
快速回复:这是一个两个数a,b之积为100,且两个数a,b之和最少,求这两个数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024044 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved