小编Tac*_*cet的帖子

求出词典索引的数值置换算法

我正在寻找一个算法,给出一组数字(例如1 2 3)和一个索引(例如2)将根据字典顺序得到这些数字的第二个排列.例如,在这种情况下,算法将返回1 3 2.

algorithm permutation

6
推荐指数
2
解决办法
5407
查看次数

根据MVC中第一个dropdownlistfor的值启用第二个和第三个下拉列表

我有三个DropDownLists.如果选择了第一个DropDownList中的特定值,则应启用第二个Dropdownlist.例如,如果选择了"播放器3",则应启用另外两个DropDownList,但是,如果选择"播放器2",则应禁用最后一个DropDownList,并启用第二个DropDownList.

我怎么能轻松做到这一点?我首先使用的是MVC 3 EF模型.这是我的观点中的代码:

 <p>Player</p>
     <div class="editor-field">
        @Html.DropDownListFor(m => m.PlayerName,Model.SubjectTypes, "Choose player" , new { @class = "selectstyle" })
        @Html.ValidationMessageFor(model => model.PlayerName)
    </div>

    <p>Position</p>
    <div class="editor-field">
        @Html.DropDownListFor(model => model.PositionName, Model.Consultants, "Choose Position", new { @class = "selectstyle" })
        @Html.ValidationMessageFor(model => model.ContactPerson)
    </div>

    <p>Team</p>
    <div class="editor-field">
        @Html.DropDownListFor(model => model.TeamName, Model.Teams, "Choose Team", new { @class = "selectstyle" })
        @Html.ValidationMessageFor(model => model.ContactPerson)
    </div>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-3 drop-down-menu

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

如何检查数字是否为5的幂

如何检查数字是否为5的幂?

我可以想到下面的算法.有没有办法改善它?任何数学技巧?

  1. 首先检查最后一位数是否为5.
  2. 如果最后一个数字是5; 5.通过划分它
    如果除法的结果是1,则数量是5,功率
    否则检查是否除法结果本身的5功率(即去与结果作为数字到步骤1).

algorithm math numbers

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

检查R中的Likert标度的有效值

我是一个试图切换到R 的SPSS用户.

我在数据框中有几个变量(ea01to ea06; pre01to pre09).

数据来自调查问卷,采用Likert格式(1到5之间的整数).

SPSS可以选择验证这些变量的值,以检查它们是否都在预期范围内,并显示其中包含无效错误.

id ea01 ea02 ea03 ea04  
1  4    5    6    5  
2  3    2    1    3  
3  3    2    4    0  
4  5    3    4    3
Run Code Online (Sandbox Code Playgroud)

验证程序应该告诉我案例1作为变量中的无效值和变量中的ea03案例3 ea04.

如何在R中完成?

r spss

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

类型定义中的断言

我有一些类型

type my_type_name =
    | A of (float * float)
    | B of (float * float)
    | E
;;
Run Code Online (Sandbox Code Playgroud)

而且我知道我的代码中存在问题,如果p >= qB (p, q)或中A (p, q).所以我想在类型中做出断言,这样如果我试着A (5, 1)让它通知我.

是否可以在类型构造函数中进行断言?应该怎么样?

我试图避免这样的事情:

assert (p < q) ; A(p, q)
Run Code Online (Sandbox Code Playgroud)

因为我在代码中有很多A或B对象.

ocaml assert

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

检查变量是否为无穷大

我正在编写程序,其中存在添加变量,这可能是无限的.在某些地方neg_infinity + infinity应该是neg_infinity或者infinity,所以我试图让'if'保证正确的结果.但我不知道如何检查,如果变量是无穷大.简单if variable = infinity是错误的,原因infinity = infinityinfinity != infinity.例子.分段:

let p = 42. /. 0.;;

if p = infinity then
    print_string "Yes!\n"
else
    print_string "NO!\n";;

if p != infinity then
    print_string "Yes!\n"
else
    print_string "NO!\n";;
Run Code Online (Sandbox Code Playgroud)

打印双"是".甚至p <= infinityp >= infinity.
我的想法是检查,如果p >= infinity(我相信,只有无限可以满足这种不平等.),但我不知道它是否总是正确的.
也检查==,但不能正常工作,如预期.

我不知道,如何在OCaml中正确解决它,那么它应该如何实现呢?

ocaml compare

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

印在monad里面

我在haskell写作翻译.我想用monads做到这一点.我已经创建了解析器,所以我有很多函数:: State -> MyMonad State,我可以使用bind运行我的程序.m >>= inst1 >>= inst2.一切都很好,但我不知道如何使用那个monad用我的语言创建指令print(或read).

我不想要简单但丑陋的解决方案,比如保持字符串在State内打印,最后在main中打印.(如果我在打印时有无穷大怎么办?)我无法理解来自网络的关于monad功能部分的文本.有一些解释,如"在IO Monad中包装,它非常简单",但没有任何工作示例.几乎所有的印刷教程都是关于主要的印刷.

为了更好地解释问题,我准备了最小的"解释器"示例(如下).还有State就是Int,我的单子是AutomatM说明有型:: Int -> AutomatM Int.所以可能的指令是:

inc :: Int -> AutomatM Int
inc x = return (x+1)
Run Code Online (Sandbox Code Playgroud)

我设计它就像我想象的那样简单:

import Control.Applicative
import Control.Monad (liftM, ap)
import Control.Monad.IO.Class (MonadIO(..))
import System.IO

data AutomatM a = AutomatError | Running a

instance Show a => Show (AutomatM a) where
    show (AutomatError) = "AutomatError"
    show (Running a) = "Running …
Run Code Online (Sandbox Code Playgroud)

monads haskell functional-programming monad-transformers

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