小编Kim*_*son的帖子

复制的定义不足

我有一个问题,我认为相当棘手.

标准前奏包含该功能

replicate :: Int -> a -> [a]
Run Code Online (Sandbox Code Playgroud)

以下看起来似乎是一个合理的定义

replicate n x = take n [x,x,..]
Run Code Online (Sandbox Code Playgroud)

但实际上这还不够.为什么不?

我知道该replicate函数定义为:

replicate        :: Int -> a -> [a]       
replicate n x    =  take n (repeat x)
Run Code Online (Sandbox Code Playgroud)

repeat定义为:

repeat           :: a -> [a]  
repeat x         =  xs where xs = x:xs
Run Code Online (Sandbox Code Playgroud)

定义是否不充分(来自问题),因为它使用无限列表?

haskell

3
推荐指数
1
解决办法
106
查看次数

了解minizinc

练习是:

一群n人想拍一张合影.每个人都可以在他或她想要放在照片上的人旁边给出偏好.要解决的问题是找到满足最大数量的首选项的展示位置.

我到目前为止编写的代码:

include "globals.mzn";

% input variables
int: n;
int: n_prefs;
array[1..n_prefs, 1..2] of var 1..n: prefs;

% FDV:s
array [1..n] of var 1..n: photo_arrangement;
var 0..n_prefs: cost;

constraint
     all_different(photo_arrangement)
% MORE Constraints

solve maximize cost;

output [show( photo_arrangement )]
Run Code Online (Sandbox Code Playgroud)

n是照片中的人数

n_prefs是首选项的数量

prefs是包含所有首选项的矩阵

主要思想是有一个包含1到n人的数组,以及我们想要最大化的成本变量.如何根据偏好更改成本变量?

minizinc

2
推荐指数
1
解决办法
292
查看次数

从旧考试中了解Haskell类型

我正在攻读Haskell考试,我对这个问题有点困惑: 在此输入图像描述

我的第一个想法是写这样的东西

paste :: Region -> Image a -> Image a -> Image a
paste (Image bol) img1 img2 = if bol
                              then -- do the pasting
                              else -- well do nothing
Run Code Online (Sandbox Code Playgroud)

但我不知道怎么做粘贴.有人能指出我正确的方向吗?

haskell

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

标签 统计

haskell ×2

minizinc ×1