| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 630 人关注过本帖
标题:这个穷举哪里错了 题目 abcd=(ab+cd)/2
只看楼主 加入收藏
子弹上膛
Rank: 1
等 级:新手上路
帖 子:22
专家分:4
注 册:2012-12-5
结帖率:50%
收藏
 问题点数:0 回复次数:3 
这个穷举哪里错了 题目 abcd=(ab+cd)/2
#include<stdio.h>
int main()
{
    int a,b,c,d,i,j,k;
    for(a=1;a<10;a++)
        for(b=0;b<10;b++)
            for(c=1;c<10;c++)
                for(d=0;d<10;d++)
                {
                    i=a*1000+b*100+c*10+d;
                    j=a*10+b;
                    k=c*10+d;

                    if(i==(j+k)/2)
                        printf("%d,%d,%d,%d ",a,b,c,d);
                }
    return 0;
}
2013-05-02 14:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
看不懂你问什么,你的代码编译正常、输出结果也正常
但就 abcd=(ab+cd)/2 而言,小学生都知道是不可能的
左边最小也是个 1000,而右边最大只能是99
2013-05-02 15:23
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
Google了一下,原来是平方

程序代码:
// abcd = (ab+cd)^2
#include <stdio.h>
int main()
{
    for( unsigned v=1000; v<10000; ++v )
    {
        if( v == (v/100+v%100)*(v/100+v%100) )
            printf( "%u\n", v );
    }

    return 0;
}

2013-05-02 15:33
hczsea
Rank: 2
等 级:论坛游民
帖 子:129
专家分:68
注 册:2007-10-23
收藏
得分:0 
abcd=(ab+cd)^2
2013-05-03 13:52
快速回复:这个穷举哪里错了 题目 abcd=(ab+cd)/2
数据加载中...
 
   



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

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