comiz

一道基础题

12,…,99个数分成三组,分别组成三个三位数,且使这三个三位数构成

   123的比例,试求出所有满足条件的三个三位数。

   例如:三个三位数192,384,576满足以上条件。
题目比较基础,自己用的回朔法,万里高楼平地起,慢慢来吧...
/* Note:Your choice is C IDE */
#define null 0
#include "stdio.h"
void inject(int N,int *nNum)
{
    int sum[3],i,j,k;
    if(N==0)
    {
        sum[0]=*nNum*100+*(nNum+1)*10+*(nNum+2);
        sum[1]=*(nNum+3)*100+*(nNum+4)*10+*(nNum+5);
        sum[2]=*(nNum+6)*100+*(nNum+7)*10+*(nNum+8);
        if(((sum[0]<<1)==sum[1])&&((3*sum[0])==sum[2]))
        {
            printf("we have one of them:");   
            printf("%d,%d,%d\n",sum[0],sum[1],sum[2]);
        }
    }
    else
    {
        for(j=0;j<9;j++)
        {
            if(*(nNum+j)==null)
            {
                *(nNum+j)=N;
                inject(N-1,nNum);
                *(nNum+j)=null;
            }
        }
    }
}
main()
{
    int k;
    int Num[9];
    for(k=0;k<9;k++)
    {
        Num[k]=null;   
    }
        inject(9,Num);
}

posted on 2007-10-24 18:22 comiz 阅读(184) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2007年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(1)

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜