小编Wor*_*ise的帖子

Prolog谓词 - 无限循环

我需要用自然数来创建一个2的幂的Prolog谓词.自然数是:0,s(0),s(s(0))ans等等.

例如:

?- pow2(s(0),P).
P = s(s(0));
false.
?- pow2(P,s(s(0))).
P = s(0);
false.
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

times2(X,Y) :-
  add(X,X,Y).

pow2(0,s(0)).
pow2(s(N),Y) :-
  pow2(N,Z),
  times2(Z,Y).
Run Code Online (Sandbox Code Playgroud)

并且它与第一个示例完美配合,但在第二个示例中进入无限循环.
我该如何解决这个问题?

prolog exponentiation successor-arithmetics non-termination failure-slice

5
推荐指数
2
解决办法
1206
查看次数

使用JavaScript验证日期

我有一个这种格式的日期字符串 - "DD-MM-YYYY"这成功验证:

var dateFormat = /(0[1-9]|[12][0-9]|3[01])-(0[1-9]|1[012])-\d{4}/ ;
if(!startDate.match(dateFormat)){
    alert("'Start Date' must be in format: DD-MM-YYYY");
    return false;
Run Code Online (Sandbox Code Playgroud)

我需要检查插入日期是否在今天的日期之后(或今天的日期).我怎么能用JavaScript做到这一点?

我试过这个:http: //www.redips.net/javascript/date-validation/ 与分隔符,没有用.建议?

html javascript validation

0
推荐指数
1
解决办法
1万
查看次数