[英]Prolog print numbers from 1 to N?
假设用户为该函数提供了输入N,我将如何打印这些数字(从1到N)(递归或其他方式)。
例
print_numbers(40)。
- > 1
- > 2
- > ...
- > 40
您要打印从1到N的数字,以便可以将print_numbers(N)转换为print_numbers(1,N)。
现在从X到Y的print_numbers是什么?
从X到Y的print_numbers是print(X),从X + 1到N的print_numbers!
在Prolog中,您将获得:
print_numbers(N) :-
print_numbers(1, N).
% general case X must be lower than Y
print_numbers(X, Y) :-
X =< Y,
writeln(X),
X1 is X + 1,
print_numbers(X1, Y).
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.