数学题c语言编程()

数学题c语言编程(高手请进)
要求:
用c语言编写
输入n个任意的三位整数使在数组出现的位置的和在12~15之间;
每个数组10个位置
第一个数组d1[11]为三位数第一位;
第二个数组d2[11]为三位数第二位;
第三个数组d3[11]为三位数第三位;
b1,b2,b3,每个数组内不能有重复数字出现;
尽量使n个数大于15个();


例如输入9个
123
456
789
354
417
719
823
608
154

输出:

位置                 b1                 b2                 b3
1
2                 6                 0                 7
3                 7                 2                 6
4                 1                 5                 4
5                 4                 1                 3
6                 3                 8                 9
7                 8                                
8                                                 8
9
10

即b1   输出   b1[1]= " ",b1[2]=6,b1[3]=7,b1[4]=1,b1[5]=4,b1[6]=3,b1[7]=8,b1[8]= " ",b1[9]= " ",b1[10]= " ";
即b2   输出   b2[1]= " ",b2[2]=0,b2[3]=2,b2[4]=5,b2[5]=1,b2[6]=8,b2[7]= " ",b2[8]= " ",b2[9]= " ",b2[10]= " ";
即b3   输出   b3[1]= " ",b3[2]=7,b3[3]=6,b3[4]=4,b3[5]=3,b3[6]=9,b3[7]= " ",b3[8]=8,b3[9]= " ",b3[10]= " ";

即可以使以上的三位数
如608   第一位6在b1位置是2,第二位0在b2位置2,第三位8在b3位置8;即位置和2+2+8=12   在12~15之间
如354   第一位3在b1位置是6,第二位5在b2位置4,第三位4在b3位置4;即位置和6+4+4=14   在12~15之间

b1,b2,b3中每个数组没有重复数出现  

备注,三位数是任意的;数组b1,b2,b3不唯一,可以多输出几个答案;随n的增大不一定有解.
需要原代码.


------解决方案--------------------
路过
sf
------解决方案--------------------
这可是悬赏50RMB的题啊,****上的100分够么,
------解决方案--------------------
如果50RMB = 100分的话我把我的可用分都卖给你,呵呵,路过mark一下~
------解决方案--------------------
既然自己都把算法写好了,为什么不自己写源代码呢?

如果50RMB = 100分的话我把我的可用分都卖给你,呵呵,路过mark一下~
----------------------------------
顶一下
------解决方案--------------------
如果50RMB = 100分的话我也把分卖了, 记得最多的时候偶有 120W 分, 不过第二天就成17W分了 ...