C# 一副卡片的算法
我有一个算法,用于52张牌的牌组,比如说C# 一副卡片的算法,c#,algorithm,C#,Algorithm,我有一个算法,用于52张牌的牌组,比如说I=10: int suit = i / 13; int cardValue = i % 13; 适合红桃、钻石、黑桃和梅花 cardValue是Ace、2、3、…、的从0到12,杰克,国王,王后 我如何从已知的suit和cardValue中推断出要返回I 我不完全确定你在问什么,但如果只是为了从套装和卡值中获得“我”,那么这就可以: int i = suit * 13 + cardValue; 在这段代码中,变量i从不改变。如果它从10开始,它将
I=10
:
int suit = i / 13;
int cardValue = i % 13;
适合红桃、钻石、黑桃和梅花
是Ace、2、3、…、的cardValue
从0到12,杰克,国王,王后
我如何从已知的
suit
和cardValue
中推断出要返回I
我不完全确定你在问什么,但如果只是为了从套装
和卡值
中获得“我”,那么这就可以:
int i = suit * 13 + cardValue;
在这段代码中,变量i从不改变。如果它从10开始,它将保持为10。您只是暂时更改赋值的值 如果您只想从某个方法中获取“i”,那么使用
返回i
可以做到这一点,但您需要发布更多有关该代码段的位置和调用方式的代码。为了获得正确答案,请提供详细信息!不,这是不对的,举个例子,27。西装是27/15(整数除法),这会给你一套2。cardValue将是余数,即1(2*13=26,27-26=1)。如果你把它放到表达式中,你会得到:2*13+(1-1),这会给你26,而不是原始值。而且,这真的很容易测试,你应该多做一些实验,你会很容易发现你的表达式会给出错误的结果。