permutation c语言一道题目 我想了一种方法可是觉得自己太复杂了,欢迎大家解答

[复制链接]
查看11 | 回复2 | 2011-7-7 07:39:32 | 显示全部楼层 |阅读模式
不能用函数不能用数组
题目是:
用1,2,3,4,。。。。9组成三个三位数,abc,def,ghi,且abc:def:ghi=1:2:3
输出所有解
我的方法如下

#includestdio.h

intmain(){
        intm,a,b,c,d,e,f,g,h,i;
        for(m=100;m333;m){
                a=m/100;
                b=m/10;
                c=m;
                d=2*m/100;
                e=2*m/10;
                f=2*m;
                g=3*m/100;
                h=3*m/10;
                i=3*m;
                if(a==0||b==0||c==0)
                        continue;
                if(d==0||e==0||f==0)
                        continue;
                if(g==0||h==0||i==0)
                        continue;
                if((a!=b)

        }
        return0;
       

}
回复

使用道具 举报

千问 | 2011-7-7 07:39:32 | 显示全部楼层
楼主,我搞了差不多一天,也没发现还有什么更好的办法……
我的办法如下,您看如果稍微有点耳目一新的感觉的话,就请看在我研究了一天您的程序份上,给个最佳回答吧,毕竟态度我觉得自己还是端正的呜呜

programisbelow:

#includestdio.h
#includestdlib.h
typedefintZX;
intmain()
{
ZXNUM1;
        ZXNUM2;
        ZXNUM3;
        ZXNUM1_GE_WEI,NUM1_SHI_WEI,NUM1_BAI_WEI;
        ZXNUM2_GE_WEI,NUM2_SHI_WEI,NUM2_BAI_WEI;
        ZXNUM3_GE_WEI,NUM3_SHI_WEI,NUM3_BAI_WEI;
       
       
        for(NUM1_BAI_WEI=1;NUM1_BAI_WEI=9;NUM1_BAI_WEI)
        {
                for(NUM1_SHI_WEI=1;NUM1_SHI_WEI=9;NUM1_SHI_WEI)
                {
                        for(NUM1_GE_WEI=1;NUM1_GE_WEI=9;NUM1_GE_WEI)
                        {
                                NUM1=NUM1_GE_WEI10*NUM1_SHI_WEI100*NUM1_BAI_WEI;
                               
                                NUM2=2*NUM1;
                                NUM2_GE_WEI=NUM20;
                                NUM2_SHI_WEI=(NUM2/10);
                                NUM2_BAI_WEI=(NUM2/100);
                               
                                NUM3=3*NUM1;
                                NUM3_GE_WEI=NUM30;
                                NUM3_SHI_WEI=(NUM3/10);
                                NUM3_BAI_WEI=(NUM3/100);

                                if((NUM1_GE_WEI!=NUM1_SHI_WEI)1000)
                                {
                                        NUM1=NUM1_GE_WEI10*NUM1_SHI_WEI100*NUM1_BAI_WEI;
                                        NUM2=2*NUM1;
                                        NUM3=3*NUM1;
                                        printf(\"%d%d%d\\n\",NUM1,NUM2,NUM3);
                                }
                        }
                }
        }       
        return0;
}









<h4class=\"ask\">追问


老弟你很辛苦啊回复我一下我就给你分好了,你这个也太猛了
回复

使用道具 举报

千问 | 2011-7-7 07:39:32 | 显示全部楼层
谢谢大哥啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行