找回密码
 注册
Simdroid-非首页
楼主: shamohu

[1stOpt] 趣味填字!

[复制链接]
发表于 2010-1-13 22:01:13 | 显示全部楼层 来自 山东淄博
超过5分钟,应该说就有点问题了
shamohu 发表于 2010-1-13 21:22

谢谢!
看来还得改进算法。
回复 不支持

使用道具 举报

发表于 2010-1-13 22:23:21 | 显示全部楼层 来自 广东江门
Simdroid开发平台
wanglu, 您好。您是 Forcal 的作者吧,这儿 http://forcal.w66.cndns5.com/xiazai/xiazai.htm 好像不能下载了,哪儿能下载您的软件?现在对普通用户还是免费吗?
回复 不支持

使用道具 举报

发表于 2010-1-14 12:11:17 | 显示全部楼层 来自 山东淄博
本帖最后由 wanglu 于 2010-1-14 17:53 编辑
wanglu, 您好。您是 Forcal 的作者吧,这儿 http://forcal.w66.cndns5.com/xiazai/xiazai.htm 好像不能下载了,哪儿能下载您的软件?现在对普通用户还是免费吗?
ljwxhlzp 发表于 2010-1-13 22:23

现在可以下载了:http://forcal.w66.cndns5.com/xiazai/xiazai.htm
还可以从这里:http://xiazai.zol.com.cn/detail/27/262791.shtml
或者这里:http://www.newhua.com/soft/33731.htm
对普通用户永久免费。
回复 不支持

使用道具 举报

发表于 2010-1-14 12:18:38 | 显示全部楼层 来自 山东淄博
本帖最后由 wanglu 于 2010-1-14 17:58 编辑
31# wanglu

三个例子均为正解,不过1,2重复了(按照约定)
lin2009 发表于 2010-1-13 21:04

5 12 6 13 18 2 16 1 8 11 7 15 17 3 4 14 9 10
5 12 6 13 18 2 16 1 8 14 9 10 17 3 4 11 7 15

对于这种情况(第4组或第5组为0.5),应再加一个检查:若第4组与第6组相等,或者第5组与第6组相等,仅输出按正序(i10<i16或者i13<i16)排列的即可去掉此类重复。

但感觉输出此类重复较好些,这是一种特殊情况。
回复 不支持

使用道具 举报

发表于 2010-1-15 10:55:57 | 显示全部楼层 来自 北京海淀
只有106种不同解(只要有一组不同(数字或循序不相同)的就认为是不同解)
此类问题以后就可以考虑穷举法啦。这是 wanglu 给的信心啊。
(用相同思路编程,Matlab用时:Elapsed time is 16848.621450 seconds,数据不具可比性)

%      2     8    12    10    14     5    13     1     4     7    15     6    18     3     9    11    17    16
%      5     2    17     9    18     6    13     1     4    12    14     8    16     3     7    15    11    10
%      5     3     7    12     1     4    14    18    13    11    17    16    15     2     6     9    10     8
%      5    10    15    12     8     7    18     2     1    14    11     9    17     3     4    16    13     6
%      5    11     4    15    17    10    18     1     9     8     7     6    13     3     2    14    12    16
%      5    11     4    15    17    10    18     1     9    13     7     8    14     3     6    12     2    16
%      5    12     6    13    18     2    16     1     8    11     7    15    17     3     4    14     9    10
%      5    12     6    15     2    10    16     1     8    13     3     4    17    11     9    18     7    14
%      6     5     9    17     4    13    18     2     1    12    14     8    16     3     7    15    11    10
%      6     7     8    11     1     3    13    16     9    15    14     5    17     4     2    10    12    18
%      6     7    14    16    11     9    18     2     1    12    10     8    17     3     4    15    13     5
%      6    11     9    13     1     4    15     7    14    17     3     5    18     2    10    12    16     8
%      7     1    16    11     5     8    18     2     4    12    15     6    17     3     9    13    10    14
%      7     3    15    12    10     8    13     1     5     9    11    16    14     2     4    17    18     6
%      7     3    15    12    13     5    16     1     8    14     2     9    18    17     4    10    11     6
%      7     5     8    15    11     6    18     2     4    12     1    17    16     3     9    13    10    14
%      7    11     5    13     1     4    17    16    10     6    15     9    14     2     8    12     3    18
%      7    11     5    13     1     4    17    16    10     9    15     6    14     2     8    18     3    12
%      7    14     6    12     5    11    13     1     4    15     8    10    16     3     2    17     9    18
%      7    15     2     8    12    16    18     1     9    13    11     4    14     3     6     5    17    10
%      7    18     4    12    13     8    14     1     6    15    10     5    16     3     2    17    11     9
%      8     3     9    10     1     5    15    11     7    13    16    12    14     2     4    17    18     6
%      8    13     6    12    10     2    14     1     7    15     4     5    17     9     3    18    11    16
%      9     1     2    15    10     5    18    16     8    13    11     7    17     3     6    12    14     4
%      9     1     2    15    10     5    18    16     8    13    11     7    17     3     4    14    12     6
%      9     1     7    10     8    16    11     2     4    14     3     6    17    13     5    18    12    15
%      9    12    15    14    13     5    16     1     8     6    10     2    17     3     4    11    18     7
%      9    12    15    14    13     5    16     1     8    10    11    18    17     2     6     7     4     3
%      9    15    12    11    16     8    13     1     4     5     2    10    18     3     6    17     7    14
%      9    16     2    13    11     7    15     1     8    10    14     5    18     3     6    12    17     4
%     10     1     2    13    16     9    14    15     6    12     5     7    17     3     8    18    11     4
%     10     1     2    17     7    14    18    12     6    11     3     4    16     8     9     5    15    13
%     10     1     4    11     6     3    15    13     5    12    16     8    14     2     7    17    18     9
%     10     1     4    13    11     9    15     8     5     7    14     3    12     2     6    18    17    16
%     10     1     4    17    11     9    18    12     6     3    16     5    14     2     8    13     7    15
%     10     1     5    11    13     2    12     4     8    15    18     9    16     3     6    17     7    14
%     10     1     5    13    15     6    18     7     2    14     3     8    17    11     4    16     9    12
%     10     1     5    17     7     8    18    15     6    11    14     3    12     2     4    13    16     9
%     10     1     8    12     3     6    15    13     5    11     2     7    16    14     4    17     9    18
%     10     1     8    12     3     9    16    11     7    15    14     5    13     2     6    18    17     4
%     10     1     9    12    11     4    14     3     8    15    16     5    13     2     6    17    18     7
%     10     4     5    12     2    16    13     1     8    17     3     9    18    11     7    14    15     6
%     10     4     5    12    18     9    15     2     1    13    11     7    17     3     6    14    16     8
%     10     8     5    13     1     7    18    15     3    12    17     4    16     2     9    14    11     6
%     10    11     4    12     5    13    16     1     8    14     3     9    18     7     2    17    15     6
%     10    12     6    13    11     7    17     2     1    15     3     5    18    14     4     9    16     8
%     10    13     5    11     1     2    14    15    12     9     3     6    16     4     7    17    18     8
%     10    14     7    12     1     8    13     4     9    15     3     6    18    17     2    11     5    16
%     10    18     3    11     9    15    14     1     5     4    17     8    13     2     6    16     7    12
%     11     1     2    13    16    12    14    18     6     5     7     9    17     3     4    10    15     8
%     11     1     8    13    12     6    14     4     9    15     2    10    17     3     7    16     5    18
%     11     4     9    12     1     8    16    14     7    10    17     5    13     2     6    18     3    15
%     11     4    18    15     5    13    17     1     8     7    16     9    12     2     6     3    10    14
%     11     6     9    14    13     8    17     2     3    12     1    15    18     4     5     7    16    10
%     11    10     5    12     3    15    18     2     1    14     9     8    17     4     7     6    13    16
%     11    13     3    12     1     9    16     5     6    15     4     2    18    10     8    17     7    14
%     11    16     8    12     9     6    17     2     1    13     3     4    15    10     5    18     7    14
%     12     1     6    15     9     4    17    18     8     7    16    10    14     2     3    13    11     5
%     12     1     7    15     8     5    16    13     6    17    10     4    18     3     9    14    11     2
%     12     1     7    15    10     5    18    11     9     3    14     4    13     2     6    17     8    16
%     12     1     8    13    11     7    14     6     3    16    15     2    18     4     5     9    17    10
%     12     1     8    14     6     3    15    13     5     9     2     7    18    10     4    11    17    16
%     12     1    14    13     5     7    16     2     4    11    10     8    15     3     6    17     9    18
%     12     1    17    15     6     5    16     2     4    11     3     9    18     7     8    13    10    14
%     12     3     6    13     1    17    15     2     7    16    14     8    18     4     5     9    11    10
%     12     5     4    13    11     7    14     2     1    17     3     9    18    10     8    16    15     6
%     12     7     2    13     1     8    16    14     4    15    10     5    18     3     6    17    11     9
%     12     7     6    14     1     9    16    15     2    10    11     4    17     3     8    18     5    13
%     12     7     6    15     2     1    17    13     3    16    14     8    18     4     5     9    11    10
%     12     7    14    15    11     9    18     2     1    10     8     5    17     3     4    16    13     6
%     12     7    14    15    11     9    18     2     1    13     3     6    16     5     4    17    10     8
%     12     9     6    13     7     8    17     2     4    10    15     5    14     3     1    18    11    16
%     12     9    18    13     1     7    14     6     3    11     2     4    15    10     5    17    16     8
%     12     9    18    13     1     7    14     6     3    15     4     2    17    11     5     8    16    10
%     12    11     4    13     1     9    16     7     6    10    17     5    14     2     8    18     3    15
%     12    11     4    13     5     7    14     2     1    17     3     9    18    10     8    16    15     6
%     12    13     8    14     2     1    17     6     9    11    18     7    16     3     4    15     5    10
%     13     1     5    14    11     4    17    16    15     9     2     7    12     3     6    18    10     8
%     13     1     5    14    11     4    17    16    15    12     3     6    18     7     2     9    10     8
%     13     1     5    14    11     4    18    17    10     6     7     9    16     3     2    12    15     8
%     13     1     5    14    11     4    18    17    10     9     2     7    15     6     3    12    16     8
%     13     1     5    14    11     4    18    17    10    12     3     9    16     7     8     2    15     6
%     13     1     5    14    11     4    18    17    10    12     9     6    16     3     8     7    15     2
%     13     1     5    14    11     4    18    17    10    15     7     8    16     2     6    12     3     9
%     13     1     8    16     6     3    17     7    14    12    11     9    18     4     2    15     5    10
%     13     1     9    14     7     6    15    11     4    17     3     5    18     2    10    12    16     8
%     13     2     4    16    12     8    17     5     1    11     7    15    18     3     6    14     9    10
%     13     3     6    14    15    12    17     2     7    10    11     5     9     1     8    16    18     4
%     13     3    12    15     1     6    17     8    16    10     2     7    11     5     4    14    18     9
%     13    10    14    15     2     6    16     3     9    12     1     8    17    11     4    18     5     7
%     13    11     7    15    18     9    17     2     1    12     3     6    16     5     4    14    10     8
%     13    16     9    14     1     8    17    11     7     5    10     6    12     2     4    15     3    18
%     13    16     9    14     1     8    17    11     7     6    10     5    12     2     4    18     3    15
%     13    16     9    14     1     8    17    11     7    10     3     5    15     4     2    18    12     6
%     14     1     8    15    13     5    18    16     2    12    10     4    17     3     9     6    11     7
%     14     1     9    15    10     5    16    13     3    11     7     2    18     4     8    17     6    12
%     14     2     6    15    11     7    16     4     8     3    17    10    12     1     9    18    13     5
%     14     2     8    16     3     4    18     6    12    13     1     9    15    17    10    11     5     7
%     14     5     6    15     1    16    18     2     9    12    10     8    17     3     4    13    11     7
%     14     5    16    15     1     8    18    12     9    11     7     2    17     3     6    13    10     4
%     14    11     4    16     1     9    18     5    13    10     7     6    17     3     8    12    15     2
%     14    11     4    16     1     9    18     5    13    12     2     7    17    15     3     6    10     8
%     14    11     4    16     1     9    18     5    13    12     7     2    17     3     6    15    10     8
%     15     1     8    17    12     9    18     5    16    10     3     6    14     4     2    13    11     7
%     15     3     5    17    11     9    18     4     2    10     1     7    12     8    16    14    13     6
%     15    14     5    17    11     6    18     2     4     9     1     7    10     8    16    13     3    12
回复 不支持

使用道具 举报

发表于 2010-1-15 12:38:25 | 显示全部楼层 来自 山东淄博
以下4组解中,第2、4组是106组解中没有的:
10  1  8 12  3  6 15 13  5 11  2  7 16 14  4 17  9 18
10  1  8 12  3  6 16 14  4 11  2  7 15 13  5 17  9 18

12  1 17 15  6  5 16  2  4 11  3  9 18  7  8 13 10 14
12  1 17 16  2  4 18  7  8 11  3  9 15  6  5 13 10 14

感觉加上好些,共108组解。
若特殊情况都考虑,136组解感觉更好,因为这些解很难从106组解中找到。
回复 不支持

使用道具 举报

发表于 2010-1-15 15:06:39 | 显示全部楼层 来自 北京海淀
46# “第2、4组是106组解中没有的”很特殊,也只有这2个,
其它被排除的均是1~3组的不同排列,或4、5组的不同排列,或4、5组中有一组等于1/2时,4、5、6组的不同排列的重复情况。
应该没有其它的特殊情况了。
Forcal 很不错,语法要是更亲近一点就好了,如which,能不能考虑用更常见的IFF等。
回复 不支持

使用道具 举报

发表于 2010-1-15 15:19:57 | 显示全部楼层 来自 浙江杭州
嗯,Forcal的语法不是很大众

Forcal 很不错,语法要是更亲近一点就好了,如which,能不能考虑用更常见的IFF等。
lin2009 发表于 2010-1-15 15:06
回复 不支持

使用道具 举报

发表于 2010-1-15 16:08:00 | 显示全部楼层 来自 山东淄博
本帖最后由 wanglu 于 2010-1-15 16:10 编辑
Forcal 很不错,语法要是更亲近一点就好了,如which,能不能考虑用更常见的IFF等。lin2009 发表于 2010-1-15 15:06

谢谢!希望看到这样一些意见。
我百度搜索“matlab IFF 语句”,也没有找到。是不是if-else语句?
当初设计Forcal语法时,相关的几个基本原则就是,不引入复杂的语法,尽量不引入可相互替代的语法,故循环语句只有while和until,判断语句只有if和which。现在发现until语句几乎用不到,尽管它比while还要快。
which语句是借鉴Mathematica 的,发现它与if-else等语句不同,不仅可以完全取代if-else等语句,而且可以返回值,故不好改为其他名称。
回复 不支持

使用道具 举报

发表于 2010-1-16 08:39:14 | 显示全部楼层 来自 山东淄博
接上面的说明。 which语句一般格式为(返回第一个逻辑语句为真时的程序段的值,若忽略该值,即if else语句):

  1. which{
  2.   {逻辑语句1} :  //若只有一个语句,可不加括号{  },也可以用括号[ ]或者( ),只要成对即可
  3.     {
  4.       //任意的程序段1,必将返回一个值
  5.       //若只有一个语句,可不加括号{  },也可以用括号[ ]或者( ),只要成对即可
  6.     },
  7.   {逻辑语句2} :
  8.     {
  9.       //任意的程序段2,必将返回一个值
  10.     },
  11.   ... ...,
  12.   {逻辑语句n} :
  13.     {
  14.       //任意的程序段n,必将返回一个值
  15.     },
  16.   //缺省程序段
  17.    {
  18.       //缺省的程序段,必将返回一个值
  19.       //若只有一个语句,可不加括号{  },也可以用括号[ ]或者( ),只要成对即可
  20.   }
  21. }

复制代码

Forcal的函数定义也不是很大众:

  1. F(x,y, ... ...               //自变量
  2.    : a,b, ... ... ,           //自动变量
  3.    static,u,v, ... ...       //静态变量
  4.    : s,t, ... ...,             //模块变量
  5.    common,w, ... ...    //全局变量
  6.   ) =
  7. {
  8.   ... ...  //程序体
  9. };
复制代码
不是很大众,说明其他语言中很少见或者没有。我比较关心这种语法用熟了之后是不是很方便?
Forcal的这种语法提高了编译效率,对脚本而言,编译效率和运行效率同样重要,因为它是动态的。
欢迎大家给出任何意见!谢谢!
回复 不支持

使用道具 举报

 楼主| 发表于 2010-1-19 21:55:36 | 显示全部楼层 来自 北京
没想到这道题有如此多的解!困惑有这么多组解,用优化方法却不容易得到其中一组?有无高手用其它软件的优化方法来求解看看?
回复 不支持

使用道具 举报

发表于 2010-1-19 22:35:21 | 显示全部楼层 来自 北京海淀
记得以前看Forcal语法时,定义静态变量和全局变量时,这里的关键字“static“和"common“既是说明符,也是变量,如果是这样的话,似乎语法不是很规范。


  • F(x,y, ... ...               //自变量
  •    : a,b, ... ... ,           //自动变量
  •    static,u,v, ... ...       //静态变量
  •    : s,t, ... ...,             //模块变量
  •    common,w, ... ...    //全局变量
  •   ) =
  • {
  •   ... ...  //程序体
  • };


wanglu 发表于 2010-1-16 08:39
回复 不支持

使用道具 举报

发表于 2010-1-20 16:51:55 | 显示全部楼层 来自 山东淄博
记得以前看Forcal语法时,定义静态变量和全局变量时,这里的关键字“static“和"common“既是说明符,也是变量,如果是这样的话,似乎语法不是很规范。

messenger 发表于 2010-1-19 22:35

谢谢messenger
“static“和"common“既是说明符,也是变量,定义上不存在二义性。如果不当作变量使用,就和其他语言的规范一样了。
其他脚本或语言规定关键字是保留字,不能用来做标识符(如变量名),Forcal中没有这个限制,因为不影响使用。Forcal中没有严格意义上的关键字,只有常量、变量和函数。
当然,可以进行限制,使“static“和"common“只作为说明符使用,不能用作变量,但意义似乎不大。

其他脚本或语言规定关键字是保留字,不能用来做标识符(如变量名),是不是为了方便编译?其他的原因我也考虑不出来。
回复 不支持

使用道具 举报

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-1 12:50 , Processed in 0.036374 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表