| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 509 人关注过本帖
标题:求教.这个用递归怎么实现?
取消只看楼主 加入收藏
紫罗兰丹丹
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:13
注 册:2014-3-28
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:1 
求教.这个用递归怎么实现?
//讲1~9填入3*3杨氏矩阵中,输出所有可能结果。(即要求由左向右递减,由上向下递减)
#include<iostream>
using namespace std;

int main()
{
    int young[3][3],sum=0;
    int x1,x2,x3,x4,x5,x6,x7;
    young[0][0]=9;
    young[2][2]=1;
    for(x1=2;x1<9;x1++)
        for(x2=2;x2<9;x2++)
            for(x3=2;x3<9;x3++)
                for(x4=2;x4<9;x4++)
                    for(x5=2;x5<9;x5++)
                        for(x6=2;x6<9;x6++)
                            for(x7=2;x7<9;x7++)
                            {
                                if(x1>x2&&x1>x4&&x1!=x2)
                                    if(x2>x5)
                                        if(x3>x4&&x3>x6)
                                            if(x4>x7&&x4>x5)
                                                if(x6>x7)
                                                    if(x1!=x2&&x1!=x3&&x1!=x4&&x1!=x5&&x1!=x6&&x1!=x7&&x2!=x3&&x2!=x4&&x2!=x5&&x2!=x6&&x2!=x7&&x3!=x4&&x3!=x5&&x3!=x6&&x3!=x7&&x4!=x5&&x4!=x6&&x4!=x7&&x5!=x6&&x5!=x7&&x6!=x7)
            {
                sum++;
            cout <<9<<" "<<x1<<" "<<x2<<endl;
            cout <<x3<<" "<<x4<<" "<<x5<<endl;
            cout <<x6<<" "<<x7<<" "<<1<<endl<<endl;
        }//if循环结束
                            }//for循环结束
                            cout<<sum<<endl;
}



这个函数是将所有可能结果枚举了一遍然后判断是否符合条件,但是时间复杂度....呵呵~
同学说用递归是最快的....emoij~
不会用哎....要怎么实现递归啊?听不懂他说的是什么意思...
搜索更多相关主题的帖子: include 
2014-04-14 06:57
紫罗兰丹丹
Rank: 2
等 级:论坛游民
威 望:1
帖 子:14
专家分:13
注 册:2014-3-28
收藏
得分:0 
这个程序的7个for循环又该怎么用呢?还有下面的if判断条件该怎么办?
2014-04-16 22:36
快速回复:求教.这个用递归怎么实现?
数据加载中...
 
   



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

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